
Android开源库源码分析和使用
文章平均质量分 88
常用的Androd第三方库的源码分析,使用场景
robert_chao
欢迎关注我的博客 https://www.lelecoding.cn
展开
-
Realm使用简单介绍
Realm是一个轻量级的数据库,在Android开发中,它可以替代 SQLite 和 ORM 框架。相比SQLite,Realm更快并且具有很多现代数据库的特性,比如支持JSON,流式api,数据变更通知,以及加密支持。工程配置1、在工程根目录的build.gradle中添加dependencies classpath "io.realm:realm-gradle-plugin:1.1.0"2、在app的build.gradle中添加pluginapply plugin: 'realm-andro原创 2016-08-02 20:42:57 · 8504 阅读 · 0 评论 -
Android中View绘制流程分析
在Activity的attach方法中通过调用PolicyManager.makeNewWindo创建Window,将一个View add到WindowManager时,WindowManagerImpl创建一个ViewRoot来管理该窗口的根View。并通过ViewRoot.setView方法把该View传给ViewRoot。Activity中的Window对象帮我们创建了一个PhoneWindow内部类DecorView(父类为FrameLayout)窗口顶层视图。WindowManagerImpl原创 2016-07-09 19:20:16 · 4131 阅读 · 1 评论 -
Volley源码解析使用方式和使用场景分析
Volley是Google在2013年推出的一个网络库,用于解决复杂网络环境下网络请求问题。刚推出的时候是非常火的,现在该项目的变动已经很少了。项目库地址为https://android.googlesource.com/platform/frameworks/volley通过提交历史可以看到,最后一次修改距离今天已经有一段时间了。而volley包的release版本也已经很久没有更新了。author Jeff Davidson <jpd@google.com> Sun Mar 13 16:35:59原创 2016-06-14 22:25:33 · 4840 阅读 · 3 评论 -
Android签名与风险分析
在Android 系统中,所有安装到系统的应用程序都必有一个数字证书,这个数字证书就是这个应用的签名。此数字证书用于标识应用程序的作者和在应用程序之间建立信任关系,如果一个 permission的protectionLevel为signature,那么就只有那些跟该permission所在的程序拥有同一个数字证书的应 用程序才能取得该权限。这个数字证书并不需要权威的数字证书签名机构认证,它只是用来让应用程序包自我认证的。的protectionLevel为signature,那么就只有那些跟该permissi原创 2016-06-13 19:21:12 · 4557 阅读 · 0 评论 -
android开源图表库MPAndroidChart文档翻译(下)
MPAndroidChart 是 Android 系统上一款开源的图表库。目前提供线图和饼图,支持选择、缩放和拖放。android开源图表库MPAndroidChar的githu地址:https://github.com/PhilJay/MPAndroidChart在 android开源图表库MPAndroidChart文档翻译(中) 介绍了设置数据,设置颜色,轴的格式化,图例,动态修改数据。这篇文章继续翻译MPAndroidChart文档剩余内容。翻译 2016-06-11 16:32:58 · 5017 阅读 · 0 评论 -
Android 事件总线OTTO使用说明和源码解析
OTTO是Square推出的库,地址:https://github.com/square/ottoOTTO基于Guava项目的Android支持库,如果你在Android程序开发的过程中想要不同的组件之间进行有效的通信可以使用这个库。通过otto库可以。otto的官方介绍An enhanced Guava-based event bus with emphasis on Android support.Otto is an event bus designed to decouple differen原创 2016-06-10 21:59:21 · 7526 阅读 · 0 评论 -
android开源图表库MPAndroidChart文档翻译(中)
在 android开源图表库MPAndroidChart文档翻译(上) 中,介绍了mpandroidchart的创建,回调方法,还有轴。这篇文章继续翻译剩余内容。MPAndroidChart数据显示,统一的数据的格式化,X轴上的数据格式化,Y轴上的数据格式化。具体图表设置翻译 2016-06-09 21:12:24 · 8993 阅读 · 1 评论 -
android开源图表库MPAndroidChart文档翻译(上)
MPAndroidChart 是 Android 系统上一款开源的图表库。目前提供线图和饼图,支持选择、缩放和拖放。android开源图表库MPAndroidChar的githu地址:https://github.com/PhilJay/MPAndroidChart文档地址:https://github.com/PhilJay/MPAndroidChart/wikiAPI地址:https://jitpack.io/com/github/PhilJay/MPAndroidChart/v2.2.5/ja翻译 2016-06-09 12:19:44 · 18120 阅读 · 15 评论 -
gson用户指南(下)
上篇文章gson用户指南翻译到了10、序列化和反序列化有任意类型对象的collection,我们继续11、内置的序列化器和反序列化器Gson内置的常用的默认序列化器和反序列化器的类可能不合适有时候默认表示不是你想要的。通常情况下在处理库类(DateTime等)会遇到这种情况。Gson允许注册你的自定义的序列化器和反序列化器。主要需要定义两个部分:Json序列化器:自定义对象的序列化Json反序列化器:为一个类型自定义反序列化翻译 2016-06-07 13:32:02 · 1855 阅读 · 0 评论 -
gson用户指南(上)
一、官方地址https://github.com/google/gson/blob/master/UserGuide.md#TOC-InstanceCreator-for-a-Parameterized-Typeapi地址http://www.javadoc.io/doc/com.google.code.gson/gson/2.6.2二、概述gson是一个用来将JAVA对象翻译 2016-06-06 18:59:03 · 2360 阅读 · 0 评论 -
Retrofit2使用方式和源码解析
Retrofit2对Retrofit做了很大改进,做一下详细比对参考https://inthecheesefactory.com/blog/retrofit-2.0/en底层okhttp不同Retrofit 默认使用okhttpRetrofit2 默认使用okhttp3Service接口定义方式不同在Retrofit2之前如果定义一个同步的函数,应该这样定义:p原创 2016-06-04 23:33:01 · 13146 阅读 · 0 评论 -
Picasso的使用和源码解析
一、基本介绍picasso是Square公司开源的一个Android图片下载缓存库,github地址https://github.com/square/picasso,可以实现图片下载和缓存功能。Picassso的特点有:自动将图像缓存在本地,自带内存和硬盘二级缓存功能通过图片压缩转换以减少内存消耗自动处理了ImageView的回收,自动取消不在视野范围内的ImageV原创 2016-06-03 23:49:42 · 9285 阅读 · 0 评论 -
Android依赖注入Dagger的使用和源码解析(上篇)
依赖注入是从应用程序的角度在描述,可以把依赖注入描述完整点:应用程序依赖容器创建并注入它所需要的外部资源;而控制反转是从容器的角度在描述,描述完整点:容器控制应用程序,由容器反向的向应用程序注入应用程序所需要的外部资源。 Dagger1是Android上最流行的依赖注入框架。它是由Square公司受到Guice启发创建的。Dagger2是Dagger1的分支,由谷歌公司接手开发,目前的版本是2.2。Dagger2是受到AutoValue项目的启发原创 2016-06-01 21:27:29 · 5323 阅读 · 0 评论 -
EventBus的使用和源码解析
基本介绍EventBus 是一个 Android 事件发布/订阅框架,通过解耦发布者和订阅者简化 Android 事件传递,这里的事件可以理解为消息,本文中统一称为事件。事件传递既可用于 Android 四大组件间通讯,也可以用户异步线程和主线程间通讯等等。EventBusEventBus3.0版本有较大的更新,性能上有很大提升。这里只介绍新版本。传统的事件传递方式包括:Handler原创 2016-06-01 00:59:13 · 10345 阅读 · 0 评论 -
RxJava介绍
RxJava github地址 https://github.com/ReactiveX/RxJavaReactiveX 官网 http://reactivex.io/intro.htmlRxJava 是什么RxJava is a Java VM implementation of Reactive Extensions: a library for composing async原创 2016-05-25 17:50:44 · 2921 阅读 · 0 评论 -
Okhttp的高效使用方式
OkHttp 是一个很重要的开源库。它的默认配置已经提供了很好的效果,我们还是采取了一些措施提高 OkHttp 的可用性和自我检查能力:1. 在文件系统中开启响应缓存有些响应消息通过包含Cache-Control HTTP首部字段允许缓存,但是默认情况下,OkHttp 并不会缓存这些响应消息。因此你的客户端可能会因为不断请求相同的资源而浪费时间和带宽,而不是简单地读取一下首次响应消息的缓存原创 2016-05-07 00:15:56 · 7067 阅读 · 0 评论 -
okhttp3与旧版本okhttp的区别分析
OkHttp的基本使用HTTP GETOkHttpClient client = new OkHttpClient();String doGet(String url) throws IOException { Request request = new Request.Builder().url(url).build(); Response response = cl原创 2016-05-06 17:01:54 · 14583 阅读 · 8 评论