Android 开发一般都使用什么框架?

除游戏之外,一般 Android 开发大家都使用什么框架? 比如 PHP 用 thinkPHP 或者 Laravel;Java 用 Spring IOC、Spring MVC / Struts2、Mybatis / Hibernate;.net 方面一般用 Microsoft Enterprise Library……上面这样的技术选型基本都是标配了。
关注者
3470
被浏览
51708

50 个回答

###开源框架推荐
####网络
* [okhttp](square/okhttp · GitHub)
* [android-async-http](loopj/android-async-http · GitHub)

####事件总线
* [otto](square/otto · GitHub)
* [EventBus](greenrobot/EventBus · GitHub)

####依赖注入
* [Dagger](square/dagger · GitHub)
* [RoboGuice](roboguice/roboguice · GitHub)
* [ButterKnife](JakeWharton/butterknife · GitHub)

####图片
* [Fresco](facebook/fresco · GitHub)
* [Glide](bumptech/glide · GitHub)
* [picasso](square/picasso · GitHub)

####数据库
* [greenDao](greenrobot/greenDAO · GitHub)
* [ormlite](j256/ormlite-android · GitHub)
* [LitePal](LitePalFramework/LitePal · GitHub)

####响应式编程
* [RxJava](ReactiveX/RxJava · GitHub)
* [RxAndroid](ReactiveX/RxAndroid: RxJava bindings for An...)

####日志输出
* [logger](orhanobut/logger: Simple, pretty and powerf...)
* [android-CLog](liaohuqiu/android-CLog)
* [KLog](ZhaoKaiQiang/KLog · GitHub)
* [LogUtils](pengwei1024/LogUtils · GitHub)

####崩溃统计平台
* [腾讯bugly](腾讯Bugly - Android Crash(崩溃)_iOS Crash(崩溃)_ANR_卡顿)
* [Crittercism](Crittercism - Developer Home)
* [Crashlytics](The most powerful, yet lightest weight crash reporting solution for iOS and Android developers.)

###架构设计
这个肯定得了解下MVC,MVP,MVVM还有设计模式这些,这里有几个开源项目推荐下

#####philm
Movie collection and information app for Android.
Github地址:chrisbanes/philm: Movie collection and info...

#####SimpleNews
基于Material Design和MVP的新闻客户端
Github地址:GitHub - liuling07/SimpleNews: 基于Material Design和MVP的新闻客户端

#####GankDaily
A application show technical information every working days, use MVP pattern.
Github地址:maoruibin/GankDaily

#####SimplifyReader
Github地址:GitHub - SkillCollege/SimplifyReader: 一款基于Google Material Design设计开发的Android客户端,包括新闻简读,图片浏览,视频爽看 ,音乐轻听以及二维码扫描五个子模块。项目采取的是MVP架构开发,由于还是摸索阶段,可能不是很规范。但基本上应该是这么个套路,至少我个人认为是这样的~恩,就是这样的!

#####NBAPlus
Github地址:SilenceDut/NBAPlus · GitHub

#####PhotoNoter
Github地址:yydcdut/PhotoNoter

#####Meizhi
Github地址:drakeet/Meizhi: gank.io unofficial client, RxJava & Retrofit

###其他
#####leakcanary
检查内存泄露
Github地址:GitHub - square/leakcanary: A memory leak detection library for Android and Java.

#####DebugDrawer
Android Debug Drawer for faster development
Github地址:palaima/DebugDrawer · GitHub

#####ViewServer
Local server for Android's HierarchyViewer
Github地址:romainguy/ViewServer · GitHub

#####AndroidWiFiADB
IntelliJ/AndroidStudio plugin which provides a button to connect your Android device over WiFi to install, run and debug your applications without a USB connected.
Github地址:https://github.com/pedrovgs/AndroidWiFiADB

####PS:开源框架虽然好用,但最好要了解框架存在的一些bug和坑,遇到问题可以给作者提issue,一般这些有名的框架,作者都会很积极的回答。推荐下自己的[Android-Dev-Favorites](GitHub - ruijun/Android-Dev-Favorites: The repository is Android development favorites, It used to collect the knowledge of Android Development.),里面收集了Android开发的干货,希望能帮到题主。
我的理解是,Android开发并没有什么通用框架,应用框架完全是从业务中提取出来的。Architecture is About Intent, not Frameworks这句话表达的应该也是这个意思。顶多给你一个思维,但是抱歉,没有通用框架这种鬼。

所以说,框架没有,库的话RxJava EventBus Glide等肯定会用的,戒不掉了
为什么?