robert的专栏

Android开发,java编程

排序:
默认
按更新时间
按访问量

Volley源码解析使用方式和使用场景分析

Volley是Google在2013年推出的一个网络库,用于解决复杂网络环境下网络请求问题。刚推出的时候是非常火的,现在该项目的变动已经很少了。项目库地址为 https://android.googlesource.com/platform/frameworks/volley 通过提交历史可以看到...

2016-06-14 22:25:33

阅读数:4523

评论数:3

Android 事件总线OTTO使用说明和源码解析

OTTO是Square推出的库,地址:https://github.com/square/otto OTTO基于Guava项目的Android支持库,如果你在Android程序开发的过程中想要不同的组件之间进行有效的通信可以使用这个库。通过otto库可以。 otto的官方介绍 An enhance...

2016-06-10 21:59:21

阅读数:6748

评论数:0

Retrofit2使用方式和源码解析

Retrofit2对Retrofit做了很大改进,做一下详细比对 参考https://inthecheesefactory.com/blog/retrofit-2.0/en 底层okhttp不同 Retrofit 默认使用okhttp Retrofit2 默认使用okhttp3 Service...

2016-06-04 23:33:01

阅读数:12717

评论数:0

Picasso的使用和源码解析

一、基本介绍 picasso是Square公司开源的一个Android图片下载缓存库,github地址https://github.com/square/picasso,可以实现图片下载和缓存功能。 Picassso的特点有: 自动将图像缓存在本地,自带内存和硬盘二级缓存功能 通过...

2016-06-03 23:49:42

阅读数:8233

评论数:0

EventBus的使用和源码解析

基本介绍 EventBus 是一个 Android 事件发布/订阅框架,通过解耦发布者和订阅者简化 Android 事件传递,这里的事件可以理解为消息,本文中统一称为事件。事件传递既可用于 Android 四大组件间通讯,也可以用户异步线程和主线程间通讯等等。EventBus EventBus3....

2016-06-01 00:59:13

阅读数:9447

评论数:0

lambda表达式介绍以及Android Studio引入lambda

一、简介“Lambda 表达式”(lambda expression)是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambda abstraction),是一个匿名函数,即没有函数名的函数。Lambda表达式可以表示闭包。运算符将表达式分为两部分,左...

2017-01-11 10:52:15

阅读数:4294

评论数:0

Https简单介绍

一、HTTPS是什么  HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。 它...

2017-01-07 10:25:20

阅读数:2894

评论数:0

移动设备无线投屏到电视机

移动设备无线投屏到电视机主要有三种种技术:AirPlay、DLNA与Miracast技术。 DNLA,Digital Living Network Alliance,是索尼、英特尔、微软等发起的一套 PC、移动设备、消费电器之间互联互通的协议。它们的宗旨是“随时随地享受音乐、照片和视频”。 DLN...

2016-10-23 21:31:37

阅读数:13368

评论数:1

微信小程序

微信小程序官方文档 https://mp.weixin.qq.com/debug/wxadoc/dev/ 目前是内测阶段,大多数人没有收到内测邀请,无法获取小程序APPID,但是这并不影响我们开发,只是不能在手机上看效果, 只能在开发环境提供的调试器中看效果,访问一些敏感信息API受限。 官方文档...

2016-09-30 12:34:54

阅读数:2592

评论数:0

Android日志的使用技巧

Android系统提供了logcat工具来记录打印log,先来聊一下logcat的使用adb logcat --helpUsage: logcat [options] [filterspecs]options include:  -s              Set default filter...

2016-09-27 20:21:36

阅读数:2842

评论数:0

Android 的String资源格式化方法

很多时候我们感性Google在设计Android时遵守了大量MVC架构方式,可以让写公共代码、美工和具体逻辑开发人员独立出来。有关Android 的资源文件values/strings.xml中如何实现格式化字符串呢? stringdemo hello robert 上面是一段简单...

2016-08-25 09:27:49

阅读数:2960

评论数:0

Realm使用简单介绍

Realm是一个轻量级的数据库,在Android开发中,它可以替代 SQLite 和 ORM 框架。相比SQLite,Realm更快并且具有很多现代数据库的特性,比如支持JSON,流式api,数据变更通知,以及加密支持。 工程配置 1、在工程根目录的build.gradle中添加dependenc...

2016-08-02 20:42:57

阅读数:6491

评论数:0

SQLite清空表并将自增列归零

SQL标准中有TRUNCATE TABLE语句,用来清空表的所有内容。但SQLite不支持这个语句。在SQLite中直接使用“DELETE FROM TableName”就可以了。对于大多数DBMS来说,用DELETE不如用TRUNCATE 速度快,因为TRUNCATE 不用访问整个表,不用记录数...

2016-07-20 22:12:15

阅读数:11980

评论数:2

JAVA并发编程(四)任务的取消与关闭

使用简单标志位保存取消状态 为了保证标志位可靠,标志必须为volatile类型。 使用标志位来取消任务是不及时的,如果中间调用了阻塞方法,有可能永远都无法结束。 每个线程都有一个boolean类型的中断状态,interrupt方法能中断目标线程,而isInterrupted方法能返回目标线程的中断...

2016-07-16 00:00:10

阅读数:5284

评论数:0

算法系列(十三)图论基本概念和拓扑排序

图的定义 一个图G=(V,E),由定点的集合V,和边的集合E组成。每一条边都是一副点对(v,w),边也称作弧,边上可以有权值。如果点对是有序的,那么图就是有向的。 图中的一条路径是一个顶点序列w1,w2,w3......wN,如果图中包含一条从顶点到自身的边,那么这个路径就是环。 有向无环图也成为...

2016-07-11 14:49:20

阅读数:4019

评论数:0

JAVA并发编程(三)设计线程安全的类

设计线程安全类的过程中需要注意三个基本要素: 1、找出构成对象的所有变量 2、找出约束状态变量的不变性条件 3、建立对象状态的并发访问管理策略 Java5.0提供了多种并发容器来改进同步容器的性能。同步容器将所有对容器状态访问都串行化,以实现它们的线程安全,这种方法的代价是严重降低了并发性。当多个...

2016-07-10 19:16:20

阅读数:7616

评论数:0

Android中View绘制流程分析

在Activity的attach方法中通过调用PolicyManager.makeNewWindo创建Window,将一个View add到WindowManager时,WindowManagerImpl创建一个ViewRoot来管理该窗口的根View。并通过ViewRoot.setView方法把...

2016-07-09 19:20:16

阅读数:3235

评论数:1

算法系列(十二)散列

Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值来唯一的确定...

2016-07-08 21:36:24

阅读数:5442

评论数:0

JAVA并发编程(二)内置锁和对象共享

Java提供了一种内置的锁机制来支持原子性:同步代码块(Synchronized Block)。内置锁的最小颗粒度是对象,修饰方法上的锁也是作用于对象。有时候叫它方法锁,但是实际上是锁住的对象。 内置锁又被称为监视锁,线程在进入同步代码块之前会自动获得锁,推出时才释放锁,获得内置锁的唯一路径就是进...

2016-07-06 22:18:26

阅读数:3162

评论数:0

Android不依赖Activity的全局悬浮窗实现

Android悬浮窗实现  实现基础 Android悬浮窗实现使用WindowManager ,WindowManager介绍   通过Context.getSystemService(Context.WINDOW_SERVICE)可以获得 WindowManager对象。 每一个WindowMa...

2016-07-02 21:58:01

阅读数:19052

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭