<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[chen_white的博客]]></title><description><![CDATA[chen_white的博客]]></description><link>https://blog.youkuaiyun.com/chen_white</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; chen_white]]></copyright><item><title><![CDATA[SwipeRefreshLayout源码分析]]></title><link>https://blog.youkuaiyun.com/chen_white/article/details/79771596</link><guid>https://blog.youkuaiyun.com/chen_white/article/details/79771596</guid><author>chen_white</author><pubDate>Sat, 31 Mar 2018 17:57:37 +0800</pubDate><description><![CDATA[SwipeRefreshLayout





目录


简介
滚动介绍
内部方法
测量
布局
手势处理 
Intercept
OnTouch 
流程
NestedScroll处理
















简介

用于下拉手势检测，响应

该类位于v4包，直接继承至ViewGroup，并且实现了NestedScrollingParent和NestedScrollingChild 
一些成员...]]></description><category></category></item><item><title><![CDATA[Okhttp解析（3.10.0）]]></title><link>https://blog.youkuaiyun.com/chen_white/article/details/79731458</link><guid>https://blog.youkuaiyun.com/chen_white/article/details/79731458</guid><author>chen_white</author><pubDate>Wed, 28 Mar 2018 17:55:38 +0800</pubDate><description><![CDATA[Okhttp（3.10.0）





目录


简介
主要类 
流程分析 
请求
构建
拦截器




请求体数据结构


表单形式
文件形式
















简介


SSL与TLS

SSL — Secure Sockets Layer(安全套接层)

TLS — Transport Layer Security(传输层安全协议)

SSL 协议，为了解决HTTP协议是明文，...]]></description><category></category></item><item><title><![CDATA[Android 官方数据库Room --- 复杂数据]]></title><link>https://blog.youkuaiyun.com/chen_white/article/details/79609333</link><guid>https://blog.youkuaiyun.com/chen_white/article/details/79609333</guid><author>chen_white</author><pubDate>Mon, 19 Mar 2018 11:25:48 +0800</pubDate><description><![CDATA[源文档链接

复杂数据

Room提供了基本类型到包装类型的转换，但是不允许实体类型之间的引用。这里解释如何使用类型转换，并且Room为何不允许



使用类型转换

有时，可能需要将自定义对象存在单独一列中。为了实现这个需求，需要添加TypeConverter，来讲自定义对象转成Room可处理的类型

例如：想要保存Date类型的对象，可以这样写


编写converter

public cl...]]></description><category></category></item><item><title><![CDATA[Android 官方数据库Room --- 数据迁移]]></title><link>https://blog.youkuaiyun.com/chen_white/article/details/79609309</link><guid>https://blog.youkuaiyun.com/chen_white/article/details/79609309</guid><author>chen_white</author><pubDate>Mon, 19 Mar 2018 11:24:43 +0800</pubDate><description><![CDATA[源文档链接

数据迁移

如果app添加/修改feature时，需要重定义实体类来反映这些变化。当用户更新后，要保留原有数据，特别是不能从服务端复原的数据

Room允许编写Migration类来进行数据迁移。每个Migration类会标明startVersion和endVersioh。在运行时，Room会运行每个Migration类中的migrate()方法，使用正确的顺序进行数据迁移


  ...]]></description><category></category></item><item><title><![CDATA[Android 官方数据库Room --- 数据调用]]></title><link>https://blog.youkuaiyun.com/chen_white/article/details/79609285</link><guid>https://blog.youkuaiyun.com/chen_white/article/details/79609285</guid><author>chen_white</author><pubDate>Mon, 19 Mar 2018 11:23:28 +0800</pubDate><description><![CDATA[源文档链接

数据调用

可以使用DAO来查询存储数据。这一些列的DAO使用Room的重要组件，每个DAO都提供抽象的数据操作方法

使用DAO操作时，不使用查询构建者或者直接的查询，可以根据自己的数据库结构划分不同的组件。更多的，DAO允许模拟数据库来测试


  使用@DAO定义 
  在添加DAO之前，先将配置添加到build.gradle中


DAO可以是接口或者抽象类。如果是个抽象类，...]]></description><category></category></item><item><title><![CDATA[Android 官方数据库Room --- 配置]]></title><link>https://blog.youkuaiyun.com/chen_white/article/details/79609264</link><guid>https://blog.youkuaiyun.com/chen_white/article/details/79609264</guid><author>chen_white</author><pubDate>Mon, 19 Mar 2018 11:22:12 +0800</pubDate><description><![CDATA[源文档链接

工程配置



implementation &quot;android.arch.persistence.room:runtime:1.0.0&quot;
annotationProcessor &quot;android.arch.persistence.room:compiler:1.0.0&quot;

// RxJava support for Room (use 1.1.0-alpha3 for latest ...]]></description><category></category></item><item><title><![CDATA[Retrofit 流程分析]]></title><link>https://blog.youkuaiyun.com/chen_white/article/details/79609161</link><guid>https://blog.youkuaiyun.com/chen_white/article/details/79609161</guid><author>chen_white</author><pubDate>Mon, 19 Mar 2018 11:16:55 +0800</pubDate><description><![CDATA[Retrofit(2.0.0-beta3)



简介



UML

 
主要类介绍


Retrofit 
框架入口，记录CallAdapter.Factory,Converter.Factory和网络引擎okHttpClient，完成动态代理
RequestBuilder 
用于整个请求的构建，包括方法（GET，POST…）、baseUrl、relativeUrl、请求头、contentTy...]]></description><category></category></item><item><title><![CDATA[Glide 流程分析]]></title><link>https://blog.youkuaiyun.com/chen_white/article/details/79609057</link><guid>https://blog.youkuaiyun.com/chen_white/article/details/79609057</guid><author>chen_white</author><pubDate>Mon, 19 Mar 2018 11:12:29 +0800</pubDate><description><![CDATA[Glide（4.6.1）



简介

bumptech开发，多款Google应用使用



优点


组件生命周期绑定，防止内存泄漏
多种原始数据加载（asset，网络，byte[],流），同时支持Volley，Okhttp；默认使用HttpURLConnection实现网络—参见DataFetcher
支持gif，可以扩展支持svg，支持视频快照
内部多面向接口编程，容易扩展
注册进程低内存回...]]></description><category></category></item><item><title><![CDATA[Android View测量过程]]></title><link>https://blog.youkuaiyun.com/chen_white/article/details/79607909</link><guid>https://blog.youkuaiyun.com/chen_white/article/details/79607909</guid><author>chen_white</author><pubDate>Mon, 19 Mar 2018 10:11:39 +0800</pubDate><description><![CDATA[Measure目录
简介
MeasureSpec
相关方法 
measureChildWithMargins
setMeasuredDimension
resolveSizeAndState
setFrame
View 
尺寸封装 
ViewGroup 
onmeasure
onlayout     
简介onMeasure方法
onMeasure测量视图和内容，以确定自己的宽高。该方法由measu]]></description><category></category></item><item><title><![CDATA[FileProvider使用]]></title><link>https://blog.youkuaiyun.com/chen_white/article/details/72819814</link><guid>https://blog.youkuaiyun.com/chen_white/article/details/72819814</guid><author>chen_white</author><pubDate>Wed, 31 May 2017 14:06:22 +0800</pubDate><description><![CDATA[目录1.背景2.问题3.FileProvider4.事例5.原理文章最后有代码链接1.背景targetSdkVersion：25 
模拟器：genymotion api7.02.问题Android7.0开始，应用私有目录被限制访问，官方做了如下限制： 
1.私有文件的文件权限不应再由所有者放宽，使用MODE_WORLD_READABLE/MODE_WORLD_WRITEABLE将抛出异常 
2.向应]]></description><category></category></item></channel></rss>