开发android app,你会用到哪些开源框架?
来源:互联网 发布:电影采集源码 编辑:程序博客网 时间:2024/04/28 04:09
根据知乎网友回答、整理而得。
UI层
图片加载:之前用的Picasso,非常方便。但因为picasso是自带的请求处理,没办法和已有的http请求统一调度,同时在滑动列表中的使用不是很舒服。
图片加载,UIL Android-Universal-Image-Loader 或者Picasso;
图片加载:fresco
依赖注入:Butterknife,小而全的依赖注入库。之前使用过一段时间的AndroidAnnotation ,功能非常完善,但一些特性上让人难以接受。
依赖注入 dagger, roboguice
简化代码 android annotations
数据层
Http/REST 请求:如果是严谨的RESTAPI , Retrofit 会非常好用!各种 annotation 用起来省事又省心!唯独不好的地方是很多时候我们的接口不是完全的 REST结构,同时需要针对每个request做单独的处理,这时候Retrofit就显得有些尴尬了。这时候我会用volley,volley的请求自定义和管理支持很好。
异步网络请求处理:是否曾经被网络请求的各种异常情况弄得焦头烂额?直到用到了RoboSpice,事情变得简单许多。对网络请求的再次封装,将请求的各种结果回调变得简便,同时对Retrofit , Okhttp,Ormlite等支持都非常完善了,有了它,生活更 easy了。
网络请求 Volley
网络层,apcahe的http-common或者square的okhttp;
JSON解析:最通用的是Gson,用起来也很方便,但从效率上来讲Gson不是最快的,FastJson和Jackson各有优势。
数据解析:Gson,我知道它速度不快,但是太好用了
数据库:ormLite和greenDao都挺好的。
消息事件队列:以前用 Guava ,后来发现有针对 Android平台设计的 Otto性能更优(虽然没有实际感受出来效率上的差别,既然是 Square 大法,一定要支持!)
事件总线:eventbus
事件处理 Otto
组件通信otto
聊天,XMPP;
动画,NineOldAndroids。
简单缓存:ASimpleCache
二维码:ZXing
新的百分比支持:https://github.com/JulienGenoud/android-percent-support-lib-sample
profile工具:leakcanary
xUtils 基于Afinal的开发框架,国人写的,还是很不错的
目前xUtils主要有四大模块:DbUtils模块、ViewUtils模块、HttpUtils模块、BitmapUtils模块;
对代码有洁癖,不想使用一个功能就引入一个大坨jar包。
或者想专注学习某一个模块或方向,那么推荐你使用Lite的类库。
以下是lite站点已列出的一些特点
1. 专一,每个库只做一件事情,并且只有核心相关的代码,这使得框架库体积非常小。
2. 简单,不需要三方依赖或辅助,API使用简单。
3. 性能不错,作者每个环节经过测试对比,来选出更好的模式和做法。
4. 依赖抽象,开发者可以自由的替换实现,来拓展功能。
5. 约定优于配置,这个无需多说了,省掉多余描述,更好地做事情。
开源项目站点:开源项目站点:LiteSuits
get start:LiteHttp:一款‘智能’的HTTP框架类库
但推荐稳定、可商用、简约单纯的框架,理由很简单:便于学习。
1. 初学者受困于经验,获取通用问题的最佳解决方式较难,借助已有的良好框架会做的更好。
2. 尽量使用专注、精简的框架,这样便于垂直学习,干扰很少,也便于拆分、砍掉。
3. 只有不断的阅读、学习良好的代码,才能提升自己代码质量。
- 开发android app,你会用到哪些开源框架?
- 开发android app,你会用到哪些开源框架?
- 开发android app,你会用到哪些开源框架?
- 开发安卓APP,你会用到那些开源框架?
- 开发某个APP用到的开源框架
- Android Studio开发App经常会用到的软件
- Android开发中你总会用到的代码段
- Android 2017你该用到的开源框架
- Android开发中常用到的一些开源框架
- 游戏开发中会用到哪些常用AI算法
- 游戏开发中会用到哪些常用AI算法
- 会用到的android 开发 第三方
- Android 经常用到的开源框架
- Android app 开发框架
- BAT的android应用会用到的第三方框架
- 15个android开发中经常用到的开源框架
- webApp一般会用到哪些技术?
- Android开发中经常会用到的功能代码
- 放置图片拼接结果的图像大小设置方法
- 国内外(主要是国外)的在线制图服务
- 208. Implement Trie (Prefix Tree)
- PyMol - script
- Fiddler对Android模拟器(Genymotion&Android模拟器)抓包
- 开发android app,你会用到哪些开源框架?
- linux 安装/卸载boost
- what are textons?
- 更改Ubuntu 12.04默认的shell(使用的是 L 类型)
- BIO NIO AIO
- 2.2 堆栈溢出
- ACM学习报告
- 使用Toolbar+menu的app:showAsAction属性不起作用的问题分析及解决
- Spring MVC 拦截器使用及实现