网络框架 retrofit 结合okhttp
Retrofit很有创意的一款开源网络框架,让用户自定义接口,并使用其提供的注解,对接口进行解析和调用,是Square旗下的产品之一;动态代理和反射。其实Retrofit无非就是让用户创建接口,使用自己指定的规则进行网络访问,把接口传入Retrofit,接口上附着的规则由Retrofit进行层层解析后,再进行实际的网络调用。Retrofit所做的事情就是帮助用户简化了大量的网络访问代码,用户只需写少量代码就能得到想要的结果。
开源地址:https://github.com/square/retrofit
学习地址:http://zijianwang.xyz/blog/Android-Dev-The-simple-user-of-Retrofit-Http-Client/
事件总线框架 eventBus Otto事件总线框架
原理解析 主要功能是帮助我们来降低多个类之间的耦合度的(解耦),都需要注册和反注册
eventBus:
1、找到被注册者中所有的订阅方法。
2、依次遍历订阅方法,找到EventBus中eventType对应的订阅列表,然后根据当前订阅者和订阅方法创建一个新的订阅加入到订阅列表
3、找到EvnetBus中subscriber订阅的事件列表,将eventType加入到这个事件列表。
开源地址:https://github.com/greenrobot/EventBus
学习地址:http://www.jianshu.com/p/073309e1d0b2
otto:
@Subscribe 订阅事件,也就是事件的处理者,它有且仅有一个参数YourEvent,每一个Subscribe对应处理一个YourEvent。Event用于连接(匹配)post和订阅。
@Produce 产生事件,改方法在对象被register后即被调用(–使用情况比较特殊的),该方法必须有一个非空的返回值,参数必须为空。 bus.post(new YourEvent(…)),发送一个事件,等待@Subcribe处理
开源地址:https://github.com/square/otto
响应式编程框架RxJava
采用观察者设计模式,这个新鲜的东西强大又好用,至于教程大家可以看看这个
学习地址:http://www.zhihu.com/question/35511144/answer/68098032总结了各个rxjava方面的精英的一些文章
图片加载
Fresco:Facebook出的,天生骄傲!不是一般的强大。
链接: https://github.com/facebook/fresco
Glide:Google推荐的图片加载库,专注于流畅的滚动。
链接: https://github.com/bumptech/glide
Picasso: Square出品,必属精品。和OkHttp搭配起来更配呦!
链接: https://github.com/square/picasso
Universal Image Loader:一个强大的图片加载库,包含各种各样的配置,最老牌,使用也最广泛。
链接: https://github.com/nostra13/Android-Universal-Image-Loader
数据存储
1.Realm,为移动设备而生,替代SQLite和Core Data。为你省下数周的时间和数千行的代码,帮你创造出更棒的用户体验。
2.LiteOrm是一个小巧、强大、比系统自带数据库操作性能快1倍的 android ORM 框架类库,开发者一行代码实现数据库的增删改查操作,以及实体关系的持久化和自动映射。
主页:https://github.com/litesuits/android-lite-orm
下拉刷新控件
谁能想到,下拉刷新本来用原生的就很好,然而你们的ui设计会让你如愿吗?
推荐一个下拉刷新控件:https://github.com/Aspsine/SwipeToLoadLayout
二维码扫描
这个类库不一定每个app都能用到,但是有备无患
链接: https://github.com/dm77/barcodescanner
Dialog
一个非常漂亮的dialog库
链接: https://github.com/pedant/sweet-alert-dialog
Android 内存泄漏检测工具
没人喜欢内存泄漏吧,但它总是发生在不经意间,并且问题难以找到,这个类库可以轻松的找到问题的根源。
链接: https://github.com/square/leakcanary
快捷方式
快速使用shortcut,避免各种ROM适配导致的各种问题。
链接: https://github.com/xuyisheng/ShortcutHelper
网友评论