安卓app 框架

来源:互联网 发布:范蠡网络是个空壳公司 编辑:程序博客网 时间:2024/05/01 04:44
图片加载:fresco
事件总线:eventbus
网络请求:retrofit rxjava
数据存储:realm.io
数据解析:Gson,我知道它速度不快,但是太好用了
图片处理:PhotoViewsubsampling-scale-image-viewPhotoCropper
简单缓存:ASimpleCache
二维码:ZXing
新的百分比支持:github.com/JulienGenoud
profile工具:leakcanary
技术博客:square家的小窝corner.squareup.com/
完全开源APP汇总:github.com/pcqpcq/open-


UI层
  • 图片加载:之前用的Picasso,非常方便。但因为picasso是自带的请求处理,没办法和已有的 http 请求统一调度,同时在滑动列表中的使用不是很舒服,有结构洁癖的我后来自己写了个库github.com/suanmiao/Com
  • 依赖注入:Butterknife ,小而全的依赖注入库。之前使用过一段时间的 AndroidAnnotation ,功能非常完善,但一些特性上让人难以接受(详见suanmiao.me/tech/12/06/

数据层
  • Http/REST 请求:如果是严谨的REST API , Retrofit 会非常好用!各种 annotation 用起来省事又省心!唯独不好的地方是很多时候我们的接口不是完全的 REST 结构,同时需要针对每个 request 做单独的处理,这时候 Retrofit 就显得有些尴尬了。这时候我会用 volley,volley 的请求自定义和管理支持很好。
  • 异步网络请求处理:是否曾经被网络请求的各种异常情况弄得焦头烂额?直到用到了 RoboSpice,事情变得简单许多。对网络请求的再次封装,将请求的各种结果回调变得简便,同时对 Retrofit , Okhttp,Ormlite 等支持都非常完善了,有了它,生活更 easy 了。
  • JSON解析:最通用的是 Gson ,用起来也很方便,但从效率上来讲 Gson 不是最快的, FastJson 和 Jackson 各有优势(具体分析参见这里:cnblogs.com/windlaughin
  • 数据库:ormLite和greenDao都挺好的。

其他
  • 消息事件队列:以前用 Guava ,后来发现有针对 Android 平台设计的 Otto 性能更优(虽然没有实际感受出来效率上的差别,既然是 Square 大法,一定要支持!)

各种 Widget 因为需求差异很大,需要用的时候再找也无妨。

最后介绍两个 Android 开源项目汇总地址:
  • Trinea 汇总的开源项目,类目非常全面:github.com/Trinea/andro
  • 国外开发者汇总的开源项目:github.com/cesards/Andr

0 0