<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[平凡的路]]></title><description><![CDATA[现在只是写给自己看，待我NB时，才是写给有需要的朋友看。]]></description><link>https://blog.youkuaiyun.com/fumin466566941</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; fumin466566941]]></copyright><item><title><![CDATA[Android最佳实践]]></title><link>https://blog.youkuaiyun.com/fumin466566941/article/details/53310236</link><guid>https://blog.youkuaiyun.com/fumin466566941/article/details/53310236</guid><author>fumin466566941</author><pubDate>Wed, 23 Nov 2016 19:49:18 +0800</pubDate><description><![CDATA[导言：因为新工作使用内网代理的关系，涉及到信息安全，外网基本被屏蔽掉了，因此部门内部还是有相当一部分人在使用eclipse，不过我还是打算申请外网，尼玛还要钱，兼用android studio 和eclipse 毕竟前者基本上沦为主流开发工具，github上很多优秀的开源项目都迁到studio上了，本来是打算在eclipse中搭建gradle环境，网上也是存在相应的解决方案，不过我还是觉得eclip]]></description><category></category></item><item><title><![CDATA[泛型]]></title><link>https://blog.youkuaiyun.com/fumin466566941/article/details/52893590</link><guid>https://blog.youkuaiyun.com/fumin466566941/article/details/52893590</guid><author>fumin466566941</author><pubDate>Sat, 22 Oct 2016 17:24:28 +0800</pubDate><description><![CDATA[1.简介： 
1）泛型可以解决数据类型的安全问题，主要原理是在类声明的时候通过标识，表示类中某个属性类型或是某个方法的返回值及参数类型。这样在类的声明及实例化的时候只要指定好需要放入类型即可。
2）//泛型类的声明 
class ZuoBiao<T> {//此处可以随便写标识符号，T是type的简称，有意义 
    private T var;//var的类型由外部指定，即由T指定     pub]]></description><category></category></item><item><title><![CDATA[注释]]></title><link>https://blog.youkuaiyun.com/fumin466566941/article/details/52893532</link><guid>https://blog.youkuaiyun.com/fumin466566941/article/details/52893532</guid><author>fumin466566941</author><pubDate>Sat, 22 Oct 2016 17:14:37 +0800</pubDate><description><![CDATA[1.概述1）正确的来说注解是反射的一部分，没有反射，注解无法正常使用
2）注解的功能：
01. 作为特定的标记，程序可以利用java的反射机制来了解你的类及各种元素上有无何种标记，针对不同的标记，就去做相应的事件。标记可以加在包，类，字段，方法，方法的参数以及局部变量上，使用注解有助于阅读程序,有利于实现程序的自动化检查和实现，简化编程。/ 
02. 额外信息的载体/以后javac编译器、开发工具或]]></description><category></category></item><item><title><![CDATA[Android 屏幕适配方案系列三]]></title><link>https://blog.youkuaiyun.com/fumin466566941/article/details/52893468</link><guid>https://blog.youkuaiyun.com/fumin466566941/article/details/52893468</guid><author>fumin466566941</author><pubDate>Sat, 22 Oct 2016 17:06:00 +0800</pubDate><description><![CDATA[Android多屏幕适配： 
https://github.com/8enet/AndroidMultiScreenLayout 【这个也是针对标注的px来设置的】 
Fragment适配大屏幕： 
https://github.com/ksharpdabu/twoFragment 
百分比布局 屏幕适配：https://github.com/wmydz1/AutoFix 
比例布局：https:/]]></description><category></category></item><item><title><![CDATA[Android 屏幕适配方案系列二]]></title><link>https://blog.youkuaiyun.com/fumin466566941/article/details/52893229</link><guid>https://blog.youkuaiyun.com/fumin466566941/article/details/52893229</guid><author>fumin466566941</author><pubDate>Sat, 22 Oct 2016 16:37:31 +0800</pubDate><description><![CDATA[1.概述 
1）各种屏幕尺寸适配，Web页面设计人员从来没有听说过，网页提供了百分比计算大小
2）拿到UI给的设计图以后，是不是抱怨过尼玛你标识的都是px，我项目里面用dp，Android对于不同的屏幕给出的适配方案是dp，那么dp与百分比的差距到底在哪里？
2.dp vs 百分比 
1）Density-independent pixel (dp)独立像素密度。标准是160dip.即1dp对应1个p]]></description><category></category></item><item><title><![CDATA[屏幕适配方案系列一]]></title><link>https://blog.youkuaiyun.com/fumin466566941/article/details/52893098</link><guid>https://blog.youkuaiyun.com/fumin466566941/article/details/52893098</guid><author>fumin466566941</author><pubDate>Sat, 22 Oct 2016 16:21:23 +0800</pubDate><description><![CDATA[1.推荐方案：1）Android中的RelativeLayout, layout_weight属性，适应不同像素密度的dp/sp单位，mdpi/hdpi/xdpi等一系列文件夹，尽量用点九图，提供了各种手段解决适配问题
2）可能的问题原因：android本身会根据手机的像素密度，会在不同的文件夹，选取对应的图片，并对图片进行放缩。但是由于android像素密度算法不科学，会导致同一张图在不同的像素密]]></description><category></category></item><item><title><![CDATA[Dagger2]]></title><link>https://blog.youkuaiyun.com/fumin466566941/article/details/52892530</link><guid>https://blog.youkuaiyun.com/fumin466566941/article/details/52892530</guid><author>fumin466566941</author><pubDate>Sat, 22 Oct 2016 15:25:45 +0800</pubDate><description><![CDATA[1.为什么使用依赖注入1）其实依赖注入也是为了模块解耦，你会发现一切一切，不论是mvp还是dagger都是为了模块解耦。dagger和mvp结合起来还可以做到把m-v-p之间进一步解耦。所谓耦合就是两个模块联系在了一起，什么意思呢？比如一个模块A里面new了另一个模块B的对象，这时候就说两个模块耦合在了一起，如果现在B模块的构造函数做了修改，那么你还需要去修改模块A里面的代码。而我们希望的是B无论怎]]></description><category></category></item><item><title><![CDATA[Okhttp]]></title><link>https://blog.youkuaiyun.com/fumin466566941/article/details/52892462</link><guid>https://blog.youkuaiyun.com/fumin466566941/article/details/52892462</guid><author>fumin466566941</author><pubDate>Sat, 22 Oct 2016 15:16:34 +0800</pubDate><description><![CDATA[1.OkHttp 简介 
1）OkHttp 是一个更先进的专注于连接效率的 HTTP 客户端。OkHttp 提供了对 HTTP/2 和 SPDY 的支持，并提供了连接池，GZIP 压缩和 HTTP 响应缓存功能。OkHttp 的 API 接口也更加的简单实用，是一种http工具类。
2）在Android程序中经常需要用到 HTTP 客户端来发送 HTTP 请求并对所得到的响应进行处理
3）需要使用]]></description><category></category></item><item><title><![CDATA[RxJava系列三]]></title><link>https://blog.youkuaiyun.com/fumin466566941/article/details/52892347</link><guid>https://blog.youkuaiyun.com/fumin466566941/article/details/52892347</guid><author>fumin466566941</author><pubDate>Sat, 22 Oct 2016 14:59:50 +0800</pubDate><description><![CDATA[操作符
1.RxJava的强大性就来自于它所定义的操作符 其实就是提供的方法，因为操作符可以让你对数据流做任何操作。
2.Demo 
2.1.这个方法根据输入的字符串返回一个网站的url列表（啊哈，搜索引擎） 2.2）这种代码当然是不能容忍的，因为上面的代码使我们丧失了变化数据流的能力。一旦我们想要更改每一个URL，只能在Subscriber中来做。我们竟然没有使用如此酷的map()操作符！！！当然]]></description><category></category></item><item><title><![CDATA[RxJava系列二]]></title><link>https://blog.youkuaiyun.com/fumin466566941/article/details/52892204</link><guid>https://blog.youkuaiyun.com/fumin466566941/article/details/52892204</guid><author>fumin466566941</author><pubDate>Sat, 22 Oct 2016 14:42:41 +0800</pubDate><description><![CDATA[1.RxJava最核心的两个东西是Observables（被观察者，事件源）和Subscribers（观察者）。Observables发出一系列事件，Subscribers处理这些事件。这里的事件可以是任何你感兴趣的东西（触摸事件，web接口调用返回的数据。。。）
2.一个Observable可以发出零个或者多个事件，直到结束或者出错。每发出一个事件，就会调用它的Subscriber的onNext方]]></description><category></category></item><item><title><![CDATA[RxJava系列一]]></title><link>https://blog.youkuaiyun.com/fumin466566941/article/details/52892106</link><guid>https://blog.youkuaiyun.com/fumin466566941/article/details/52892106</guid><author>fumin466566941</author><pubDate>Sat, 22 Oct 2016 14:27:34 +0800</pubDate><description><![CDATA[1.简介 
1）RxJava它就是一个实现异步操作的库：a library for composing asynchronous and event-based programs using observable sequences for the Java VM
2）Android 创造的 AsyncTask 和Handler ，其实都是为了让异步代码更加简洁，与众不同之处在于，随着程序逻辑变得越]]></description><category></category></item><item><title><![CDATA[Android依赖注入]]></title><link>https://blog.youkuaiyun.com/fumin466566941/article/details/52888071</link><guid>https://blog.youkuaiyun.com/fumin466566941/article/details/52888071</guid><author>fumin466566941</author><pubDate>Fri, 21 Oct 2016 23:03:55 +0800</pubDate><description><![CDATA[1.含义 
1）依赖是指一个对象持有其他对象的引用。依赖注入则是将这些依赖对象传递给被依赖对象，而不是被依赖对象自己创建这些对象，说白了注入就是对象作为参数传递。
public class MyClass{
     private AnotherClass mAnotherObject;     public MyClass(){
          mAnotherObject = new An]]></description><category></category></item><item><title><![CDATA[MVP/MVVP]]></title><link>https://blog.youkuaiyun.com/fumin466566941/article/details/52887954</link><guid>https://blog.youkuaiyun.com/fumin466566941/article/details/52887954</guid><author>fumin466566941</author><pubDate>Fri, 21 Oct 2016 22:53:47 +0800</pubDate><description><![CDATA[http://blog.youkuaiyun.com/luyi325xyz/article/details/43085409 
http://robobinding.github.io/RoboBinding/getting_started.zh.html#_android_studio]]></description><category></category></item><item><title><![CDATA[Retrofit系列二]]></title><link>https://blog.youkuaiyun.com/fumin466566941/article/details/52887607</link><guid>https://blog.youkuaiyun.com/fumin466566941/article/details/52887607</guid><author>fumin466566941</author><pubDate>Fri, 21 Oct 2016 22:16:46 +0800</pubDate><description><![CDATA[1.为什么会选择Retrofit【Okhttp/retrofit/android-async-http/volley】 
1）个人比较推荐Square开源组合，用Retrofit(目前已经是2.0+)+OkHttp基本上已经可以处理任何业务场景了，Square开源库质量还是值得信赖的。
2）Retrofit的特点我个人认为是简化了网络请求流程，同时自己内部对OkHtttp客户端做了封装，同时2.x把]]></description><category></category></item><item><title><![CDATA[Retrofit系列一]]></title><link>https://blog.youkuaiyun.com/fumin466566941/article/details/52877323</link><guid>https://blog.youkuaiyun.com/fumin466566941/article/details/52877323</guid><author>fumin466566941</author><pubDate>Thu, 20 Oct 2016 21:42:46 +0800</pubDate><description><![CDATA[1.Retrofit provides two options to define HTTP request header fields: static and dynamic. Static headers can’t be changed for different requests. The header’s key and value are fixed and initiated with]]></description><category></category></item><item><title><![CDATA[Glide]]></title><link>https://blog.youkuaiyun.com/fumin466566941/article/details/52876337</link><guid>https://blog.youkuaiyun.com/fumin466566941/article/details/52876337</guid><author>fumin466566941</author><pubDate>Thu, 20 Oct 2016 19:56:04 +0800</pubDate><description><![CDATA[1.简介1）google亲儿子，Glide和Picasso有90%的相似度，准确的说，就是Picasso的克隆版本。但是在细节上还是有不少区别的。
2）导入库，Picasso和Glide都在jcenter上。在项目中添加依赖非常简单：参考官网 
Picasso： 
dependencies { 
compile ‘com.squareup.picasso:picasso:2.5.1’ 
}  
Gl]]></description><category></category></item><item><title><![CDATA[ButterKnife]]></title><link>https://blog.youkuaiyun.com/fumin466566941/article/details/52876177</link><guid>https://blog.youkuaiyun.com/fumin466566941/article/details/52876177</guid><author>fumin466566941</author><pubDate>Thu, 20 Oct 2016 19:36:35 +0800</pubDate><description><![CDATA[1.Introduction 简介  【黄油切刀】1）Annotate fields with @Bind and a view ID for Butter Knife to find and automatically cast the corresponding view in your layout. 在定义视图元素前添加注释符号@Bind（ID） 注释框架会自动关联映射到相关联的布局文件中]]></description><category></category></item><item><title><![CDATA[数据库GreenDAO+ORM]]></title><link>https://blog.youkuaiyun.com/fumin466566941/article/details/52876084</link><guid>https://blog.youkuaiyun.com/fumin466566941/article/details/52876084</guid><author>fumin466566941</author><pubDate>Thu, 20 Oct 2016 19:22:34 +0800</pubDate><description><![CDATA[1.简介：1）greenDAO是一个可以帮助 Android 开发者快速将Java对象映射到SQLite数据库的表单中的ORM解决方案，通过使用一个简单的面向对象API，开发者可以对Java对象进行存储、更新、删除和查询。 
2.具体使用方法1）http://blog.youkuaiyun.com/tyyj90/article/details/50450901
2）http://www.openopen.com]]></description><category></category></item><item><title><![CDATA[文件file]]></title><link>https://blog.youkuaiyun.com/fumin466566941/article/details/52876046</link><guid>https://blog.youkuaiyun.com/fumin466566941/article/details/52876046</guid><author>fumin466566941</author><pubDate>Thu, 20 Oct 2016 19:14:18 +0800</pubDate><description><![CDATA[1.文件存储 
http://blog.youkuaiyun.com/xushuaic/article/details/8815563 
http://blog.youkuaiyun.com/eyishion/article/details/51502849 
http://blog.youkuaiyun.com/zhoumushui/article/details/51361007 
http://blog.youkuaiyun.com/lia]]></description><category></category></item><item><title><![CDATA[本地缓存]]></title><link>https://blog.youkuaiyun.com/fumin466566941/article/details/52875880</link><guid>https://blog.youkuaiyun.com/fumin466566941/article/details/52875880</guid><author>fumin466566941</author><pubDate>Thu, 20 Oct 2016 18:52:25 +0800</pubDate><description><![CDATA[1.使用场景1）提高访问服务器接口的速度，测试场景：2G/3G网络环境下，以模拟用户真实体验
2）影响因素：双向数据传输速度，
3）可行性的措施：减少接口的调用次数 -> 整合多次为一次；措施二，调用一次服务端接口后，在规定地一个时间段内不再调用，保存数据在APP 本地上，也就是缓存时间段内，扔使用上次获取到的数据
2.设计场景1）缓存时间长短设置，有一个推荐标准：长【5-10分钟】即时性高低，数据]]></description><category></category></item></channel></rss>