<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[zrbcsdn的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/zrbcsdn</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; zrbcsdn]]></copyright><item><title><![CDATA[Android 网络链接状态 网络是否可用]]></title><link>https://blog.youkuaiyun.com/zrbcsdn/article/details/79986064</link><guid>https://blog.youkuaiyun.com/zrbcsdn/article/details/79986064</guid><author>zrbcsdn</author><pubDate>Wed, 18 Apr 2018 11:11:01 +0800</pubDate><description><![CDATA[判断Android 网络已连接状态下，网络是否可用。首先分析是否链接网络；在根据Android版本判断网络是否可用：6.0以后系统提供API可用，6.0之前使用ping命令即可。public static boolean netCanUse(Context context) {
        if (context != null) {
            ConnectivityManag...]]></description><category></category></item><item><title><![CDATA[关于设备唯一标识]]></title><link>https://blog.youkuaiyun.com/zrbcsdn/article/details/79419541</link><guid>https://blog.youkuaiyun.com/zrbcsdn/article/details/79419541</guid><author>zrbcsdn</author><pubDate>Fri, 02 Mar 2018 09:34:15 +0800</pubDate><description><![CDATA[http://blog.youkuaiyun.com/dfqin/article/details/45533455首先结论是令人失望的，对于android来说，这是一个没有完美方案的问题。大家只能努力提高它的准确性，对于大的公司来说，可以自己开发出一套自己的机制，例如我上家公司成立过一个手机指纹的项目，专门处理设备唯一性的问题防止用户刷单，原理很简单，就是尽可能的把手机能读取到的信息获取到上传到后台，甚至令人...]]></description><category></category></item><item><title><![CDATA[Android设备唯一码的获取]]></title><link>https://blog.youkuaiyun.com/zrbcsdn/article/details/79413129</link><guid>https://blog.youkuaiyun.com/zrbcsdn/article/details/79413129</guid><author>zrbcsdn</author><pubDate>Thu, 01 Mar 2018 15:30:49 +0800</pubDate><description><![CDATA[https://www.cnblogs.com/maohai/p/6454013.htmlAndroid设备唯一码的获取UTDID是集团无线设备统一ID方案，目的是给每一台设备一个ID，作为唯一标识。UTDID由客户端生成，并在设备中各个客户端之间共享。UTDID的生成中包含时间戳和随机数等，因此重新生成的UTDID值一定是会改变的，UTDID的稳定性强依赖于手机存储，UTDID方案是一个重在持久...]]></description><category></category></item><item><title><![CDATA[Android模块化（三）——模块可插拔单独编译运行]]></title><link>https://blog.youkuaiyun.com/zrbcsdn/article/details/78866491</link><guid>https://blog.youkuaiyun.com/zrbcsdn/article/details/78866491</guid><author>zrbcsdn</author><pubDate>Thu, 21 Dec 2017 18:19:28 +0800</pubDate><description><![CDATA[转自：
此文属于finddreams的原创博客，转载请注明出处：http://blog.youkuaiyun.com/finddreams/article/details/78354209




下面主要来讲一下单一模块的独立编译运行和插拔式的集成。

单一模块的独立编译运行

  模块化的好处之一就是单一模块可以独立的开发编译运行安装到用户的手机上，这样就方便了对某一模块的单独开发调试]]></description><category></category></item><item><title><![CDATA[Android模块化（二）——模块通信和模块间服务调用]]></title><link>https://blog.youkuaiyun.com/zrbcsdn/article/details/78866325</link><guid>https://blog.youkuaiyun.com/zrbcsdn/article/details/78866325</guid><author>zrbcsdn</author><pubDate>Thu, 21 Dec 2017 18:01:01 +0800</pubDate><description><![CDATA[转自：此文属于finddreams的原创博客，转载请注明出处：http://blog.youkuaiyun.com/finddreams/article/details/78349267




上一篇《我所理解的Android模块化（一）》笔者讲到了Android模块化的基本知识和模块化跳转路由的基本用法，解决了模块化中跳转的问题，下面就来讲讲如何实现模块化之间的通信和跨模块方法调用。

模块]]></description><category></category></item><item><title><![CDATA[Android模块化（一）——模块化概念和路由]]></title><link>https://blog.youkuaiyun.com/zrbcsdn/article/details/78866142</link><guid>https://blog.youkuaiyun.com/zrbcsdn/article/details/78866142</guid><author>zrbcsdn</author><pubDate>Thu, 21 Dec 2017 17:46:36 +0800</pubDate><description><![CDATA[转自： 此文属于finddreams的原创博客，转载请注明出处：http://blog.youkuaiyun.com/finddreams/article/details/78339809


笔者在公司的项目中使用模块化的方式开发APP已经快一年的时间，其中经历过以模块化的方式来重构项目中一些相对来说业务比较独立的模块。遇到了一些问题，也积累了一些经验，所以想谈一谈我对Android模块化的理解，也希]]></description><category></category></item><item><title><![CDATA[基于Retrofit2.0+RxJava+Dragger2实现不一样的Android网络构架搭建]]></title><link>https://blog.youkuaiyun.com/zrbcsdn/article/details/78863172</link><guid>https://blog.youkuaiyun.com/zrbcsdn/article/details/78863172</guid><author>zrbcsdn</author><pubDate>Thu, 21 Dec 2017 14:08:08 +0800</pubDate><description><![CDATA[转自：一起分享，一起进步。finddreams：http://blog.youkuaiyun.com/finddreams/article/details/50849385 
　　　 
　　众所周知，手机APP的核心就在于调用后台接口，展示相关信息，方便我们在手机上就能和外界交互。所以APP中网络框架的搭建一直是我们开发者所关心的问题，在Android中关于如何搭建网络框架分为两种：一种是不想重复造轮子使]]></description><category></category></item><item><title><![CDATA[Android 消息机制——你真的了解Handler？]]></title><link>https://blog.youkuaiyun.com/zrbcsdn/article/details/78567398</link><guid>https://blog.youkuaiyun.com/zrbcsdn/article/details/78567398</guid><author>zrbcsdn</author><pubDate>Sat, 18 Nov 2017 11:05:31 +0800</pubDate><description><![CDATA[原文 
前言 
Android的消息机制主要是指Handler的运行机制，对于大家来说Handler已经是轻车熟路了，可是真的掌握了Handler？本文主要通过几个问题围绕着Handler展开深入并拓展的了解。「本文建议PC端阅读」看该篇文章可能需要掌握一定的「Activity 启动过程」的理论知识。并且对Handler有一定的了解。已经有经典的好文介绍Handler，所以墙裂推荐先了解以下2篇文章]]></description><category></category></item><item><title><![CDATA[AsyncTask学习笔记]]></title><link>https://blog.youkuaiyun.com/zrbcsdn/article/details/78512441</link><guid>https://blog.youkuaiyun.com/zrbcsdn/article/details/78512441</guid><author>zrbcsdn</author><pubDate>Sun, 12 Nov 2017 16:07:39 +0800</pubDate><description><![CDATA[AsyncTask的机制原理： 
1.本质是一个静态线程池，派生出来的子类的任务都提交的到静态线程池中去执行。 
2.在doInBackground()方法中是在工作线程执行异步任务调用而方法。 
3.任务状态改变，是由任务线程发送给UI线程消息，AsyncTask中有个InteralIntent来接收消息回调给先关方法，例如：onPreExcute9()/onProgressUpdate()/on]]></description><category></category></item><item><title><![CDATA[面向对象六大基本原则]]></title><link>https://blog.youkuaiyun.com/zrbcsdn/article/details/78512427</link><guid>https://blog.youkuaiyun.com/zrbcsdn/article/details/78512427</guid><author>zrbcsdn</author><pubDate>Sun, 12 Nov 2017 16:06:29 +0800</pubDate><description><![CDATA[1.单一原则：一个类中有的是一组相关性很高的函数，或数据。 
2.开闭原则：对扩展开放，对修改关闭。 
3.里氏代换原则：所有引用基类的地方必能透明的使用其子类对象。（扩展的基础）。 
4.依赖倒置原则：高层模块（调用端）不应依赖低层模块（实现端），两者都应该依赖其抽象；抽象（抽象类或接口）不应该依赖细节（实现类）；细节应该依赖抽象。（主要作用是解耦）。 
5.接口隔离原则：类间的依赖应该建立在最小]]></description><category></category></item><item><title><![CDATA[Android WebView 关闭无痕浏览]]></title><link>https://blog.youkuaiyun.com/zrbcsdn/article/details/77683794</link><guid>https://blog.youkuaiyun.com/zrbcsdn/article/details/77683794</guid><author>zrbcsdn</author><pubDate>Tue, 29 Aug 2017 17:42:47 +0800</pubDate><description><![CDATA[只需做如下设置：        settings.setDatabaseEnabled(true);
        settings.setAppCacheEnabled(true);
        settings.setDomStorageEnabled(true);]]></description><category></category></item><item><title><![CDATA[EditText 屏蔽选择、复制、粘贴等一切剪切板的操作]]></title><link>https://blog.youkuaiyun.com/zrbcsdn/article/details/77556333</link><guid>https://blog.youkuaiyun.com/zrbcsdn/article/details/77556333</guid><author>zrbcsdn</author><pubDate>Fri, 25 Aug 2017 09:54:50 +0800</pubDate><description><![CDATA[EditText 如何屏蔽选择、复制、粘贴等一切剪切板的操作呢？找到的资料，总结起来都是这的：editText.setLongClickable(false);
editText.setCustomSelectionActionModeCallback(new ActionModeCallbackInterceptor());   private class ActionModeCallbackIn]]></description><category></category></item><item><title><![CDATA[Android NDK开发——CMake的编译使用]]></title><link>https://blog.youkuaiyun.com/zrbcsdn/article/details/76853503</link><guid>https://blog.youkuaiyun.com/zrbcsdn/article/details/76853503</guid><author>zrbcsdn</author><pubDate>Mon, 07 Aug 2017 17:19:09 +0800</pubDate><description><![CDATA[原文：Android NDK开发扫盲及最新CMake的编译使用mark: 
1 NDK 简介在介绍 NDK 之前还是首推 Android 官方 NDK 文档。传送门官方文档分别从以下几个方面介绍了 NDKNDK 的基础概念 
如何编译 NDK 项目 
ABI 是什么以及不同 CPU 指令集支持哪些 ABI 
如何使用您自己及其他预建的库 
本节将会对文档进行总结和补充。所以建议先浏览一遍文档，或者看]]></description><category></category></item><item><title><![CDATA[Android  Webview适配屏幕宽度]]></title><link>https://blog.youkuaiyun.com/zrbcsdn/article/details/76077387</link><guid>https://blog.youkuaiyun.com/zrbcsdn/article/details/76077387</guid><author>zrbcsdn</author><pubDate>Tue, 25 Jul 2017 15:36:50 +0800</pubDate><description><![CDATA[网上有很多解决方案，但是，要么不适用（改h5），要么影响其他h5显示。 
下面的代码，亲测，至少目前为止，管用。//支持javascript  
web.getSettings().setJavaScriptEnabled(true);   
// 设置可以支持缩放   
web.getSettings().setSupportZoom(true);   
// 设置出现缩放工具   
web.ge]]></description><category></category></item><item><title><![CDATA[Https：从tcp建立连接到https接收到第一个数据包，到底发生了什么？]]></title><link>https://blog.youkuaiyun.com/zrbcsdn/article/details/74542953</link><guid>https://blog.youkuaiyun.com/zrbcsdn/article/details/74542953</guid><author>zrbcsdn</author><pubDate>Thu, 06 Jul 2017 14:28:05 +0800</pubDate><description><![CDATA[转自：


http://blog.youkuaiyun.com/arthur_killer/article/details/71405249




https 建立连接过程

Abstract

https 是基于http 和 ssl（安全套接字层） 的安全传输协议，使用ssl 协议作为会话层协议，这里通过这篇文章结合抓包来看一下具体过程

About SSL / TLS
]]></description><category></category></item><item><title><![CDATA[HTTPS优化探索与实践]]></title><link>https://blog.youkuaiyun.com/zrbcsdn/article/details/74528825</link><guid>https://blog.youkuaiyun.com/zrbcsdn/article/details/74528825</guid><author>zrbcsdn</author><pubDate>Thu, 06 Jul 2017 10:50:35 +0800</pubDate><description><![CDATA[转自：http://www.sohu.com/a/154584659_268033

HTTPS 是互联网安全的基础之一，然而引入 HTTPS 却会带来性能上的损耗。本文作者深入解析了 HTTPS 协议优化的各个方面，对实战很有帮助。

2012 年斯诺登（Edward Snowden）爆出棱镜门事件后，互联网安全问题日益得到大家的重视。去年 Apple 宣布 2017 年 1 月 1 日]]></description><category></category></item><item><title><![CDATA[Layout新姿势—ConstraintLayout]]></title><link>https://blog.youkuaiyun.com/zrbcsdn/article/details/72833109</link><guid>https://blog.youkuaiyun.com/zrbcsdn/article/details/72833109</guid><author>zrbcsdn</author><pubDate>Thu, 01 Jun 2017 17:15:16 +0800</pubDate><description><![CDATA[Layout新姿势—ConstraintLayout。

突然发现as的创建新项目时，导入的默认布局是个新名词——ConstraintLayout。

这个新姿势，

感觉有必要搞一搞，转载了郭林大神这篇文章，撸起来吧~~~~

原文：http://blog.youkuaiyun.com/guolin_blog/article/details/53122387


内容如下：

今天]]></description><category></category></item><item><title><![CDATA[Kotlin干货集中营]]></title><link>https://blog.youkuaiyun.com/zrbcsdn/article/details/72528792</link><guid>https://blog.youkuaiyun.com/zrbcsdn/article/details/72528792</guid><author>zrbcsdn</author><pubDate>Fri, 19 May 2017 14:26:00 +0800</pubDate><description><![CDATA[Kotlin 成为 Android 官方支持的编程语言。 
笨鸟先飞，不要成为后知后觉的那一簇。来死狗吧！ 
1. kotlin的官方github地址 
2. kotlin语言中文站 
3. Kotlin 语言官方参考文档 中文版 
4. 《Kotlin for android developers》中文版翻译 
5. 张涛的开源实验室-《kotlin 一门强大的语言》 
6. 大精-wing的地方]]></description><category></category></item><item><title><![CDATA[NestedScrollView嵌套RecyclerView （官方）]]></title><link>https://blog.youkuaiyun.com/zrbcsdn/article/details/70846868</link><guid>https://blog.youkuaiyun.com/zrbcsdn/article/details/70846868</guid><author>zrbcsdn</author><pubDate>Thu, 27 Apr 2017 11:24:00 +0800</pubDate><description><![CDATA[NestedScrollView嵌套RecyclerView LinearLayoutManager layoutManager = new      LinearLayoutManager(this);
layoutManager.setSmoothScrollbarEnabled(true);
layoutManager.setAutoMeasureEnabled(true);
recycler]]></description><category></category></item><item><title><![CDATA[Android WebView加载https网页（亲测）]]></title><link>https://blog.youkuaiyun.com/zrbcsdn/article/details/70754859</link><guid>https://blog.youkuaiyun.com/zrbcsdn/article/details/70754859</guid><author>zrbcsdn</author><pubDate>Tue, 25 Apr 2017 17:09:53 +0800</pubDate><description><![CDATA[只需加两处设置： 
1 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            settings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
        }2webView.setWebViewClient(new WebView]]></description><category></category></item></channel></rss>