个人常用Android库介绍

首先,先粘贴一份我的app.gradle文件中的dependencies,然后逐个介绍:

compile 'me.yokeyword:fragmentation:0.10.1'
compile 'me.yokeyword:fragmentation-swipeback:0.7.9'
compile 'com.jude:easyrecyclerview:4.4.0'
compile 'com.squareup.okhttp3:okhttp:3.2.0'
compile 'com.github.bumptech.glide:glide:3.7.0'
compile 'com.google.code.gson:gson:2.7'
compile 'com.jakewharton:butterknife:8.4.0'
compile 'org.greenrobot:eventbus:3.0.0'
compile 'me.dm7.barcodescanner:zxing:1.9.3'
compile 'com.yanzhenjie:permission:1.0.5'
apt 'com.jakewharton:butterknife-compiler:8.4.0'

1. fragmentation

最新版本已经到了1.0.4了,比0.x版本已经稳定了很多,bug也很少遇到了。这个库的地址在 Fragmentation,已经3000+的星标了,它的主要作用是帮助开发者搭建一个单Activity+多Fragment的应用,当然,多Activity+多Fragment也是没问题的。原生Fragment在使用过程中各种坑,让人望而生畏;采用多Fragment的应用可以方便的重构UI,资源占用也比最早的全用Activity搭建的应用要少的多

2. fragmentation-swipeback

同Fragmentation,这个库支持滑动返回的动作

3. easyrecyclerview

如同它的名字一样,使用起来也很easy,这个easyrecyclerview不是继承于RecyclerView,而是使用FrameLayout包了一层,可以支持多个Header和多个Footer,而且支持下拉刷新,上拉加载更多等动作,加上自定义封装的ViewHolder,使用这个库做一个列表就是一个简单。地址:Easyrecyclerview

4. OkHttp3

项目地址:OkHttp3
网络通信库,支持HTTP和HTTPS,支持SPDY,支持多线程,与voller一样都非常优秀,可以根据各人喜好和项目具体需求来选择

5. glide

从早年的ImageLoader,到现在的Picasso、Fresco和Glide,这几个图片库都非常好用,且接口都相差无几,速度都很快,但是也有些小区别。Glide因为是底层的C/C++实现的,所以在内存使用上是不受android系统限制的,加载大图片、超多图片是很好的,同时也是少有的GIF图标利器,Fresco则可以把大图片使用控件大小预先加载一个小尺寸的图片而加快加载的速度

6. gson

gson 使用的太多了,且在android studio上有其插件,配合使用特别方便。也有几个类似的竞争对手,感兴趣的可以自行搜索

7. butterknife

butterknife 让懒人有偷懒的机会,它会把页面布局中所有带有id的控件全部生成对应的变量从而省去findViewById的麻烦,用了才知道

8. eventbus

eventbus 出现之前,如果需要页面之间传递消息,需要选择使用Bundle+interface或者Broadcast的方式,需要使用大量的代码和烦琐的逻辑,才能达到目的,而且模块之间耦合比较强,一旦有需求或者逻辑变化,改动将会很大。而使用了EventBus,代码变得很简单,而且耦合很小

9. zxing view

Google的zxing 是使用广泛的二维码扫描工具,而且很方便。但,有个更方便的工具,它直接提供一个Zxing的View,让你可以方便的创建支持二维码扫描的页面,而不需要一个完整的摄像头页面去扫描,而且,它还支持另一个速度更快的扫描库:ZBar,可以去它的主页也了解详情

10. AndPermission

Android升级到6.0以后,越来越多的设备上的应用会出现一个问题,之前都好好的,在6.0的机器上打开应用就闪退,这其实是应用在6.0系统上的权限不够导致的。6.0系统把一些危险操作的确认都交给用户,常见的有读写SD卡、打开摄像头、访问GPS等,需要应用调用系统方法弹出对话框来询问用户同不同意应用使用这些权限。而对开发者而言,需要阅读长长的开发文档,再根据文档去应对每种权限,AndPermission就是为了解决这个问题而出现的,虽然6.0要求的高了,但是只要有一个人搞懂了这些更新应用的途径,别的人就不需要再学习了,简单调用AndPermission中的接口就可以顺利在6.0系统上跑通了

你可能感兴趣的:(个人常用Android库介绍)