android github主流框架大全
1.Retrofit网络
2.okhttp网络
3.Butter Knife代码模板
4.MPAndroidChart图表
5.glide图片
6.leakcanary内存
7.Android-Universal-Image-Loader图片
8.EventBus事件消息
9.zxing条码扫描
10.picasso图片
11.lottie-android动画
12.fresco图片
13.RxAndroid异步
14.SlidingMenu菜单
15.PhotoView图片
16.material-dialogsUI
17.droid-async-http网络
18.androidannotations注解
19.fastjsonjson
20.Material-Animations动画
21.tinker热修复
22.ViewPagerIndicatorUI
23.Android-CleanArchitecture架构
24.Android-PullToRefresh刷新
25.flexbox-layoutUI
26.AndroidSwipeLayoutUI
27.realm-java数据库
28.greenDAO数据
29.stetho调试
30.BaseRecyclerViewAdapterHelperUI
31.AndroidViewAnimations动画
32.MaterialDrawer菜单
33.Android-ObservableScrollViewUI
34.CircleImageView图片
35.logger调试
36.agera异步
37.BottmBar菜单
38.Calligraphy字体
39.AndroidSlidingUpPanelUI
40.AppIntroUI
41.recyclerview-animators动画
42.dagger依赖注入
43.Android-BootstarpUI
44.RxBinding响应式
45.ListViewAnimations动画
46.UItimateRecyclerViewUI
47.uCrop图片
48.RxJava-Android-Samples用例
49.AndroidAutoLayout适配
50.EffectiveAndroidUI性能
51.Luban图片
52.DroidPlugin插件化
53.otto响应式
54.u2020用例
55.buck构建
56.PermissionsDispatcher权限
57.android-gif-drawableGIF
58.Apktool反编译
59.dynamic-load-apk插件化
60.atlas插件化
61.volley网络
62.androidmvp用例
63.SwipeBackLayout手势
64.FlycoTabLayoutUI
65.android-testing测试
66.FileDownloader下载
67.JieCaoVideoPlayer多媒体
68.glide-transformations图片
69.android-gpuimage图片
70.RxPermissions权限
71.freeline编译
72.RxLifecycle生命周期
73.classyshark反编译
74.acra崩溃日志
75.DiskLruCache文件
76.dexposed热修复
77.Litho性能
78.mosbyMVP
79.AndResGuard混淆
80.StatusBarUtil状态栏
81.robolectric测试
82.Fragmentation嵌套
83.Small插件化
84.JsBridgehybrid
85.richeditor-androidUI
86.Transitions-Everywhere动画
87.android-viewbadger勋章
88.AndroidWiFiADB调试
89.emojicon表情包
90.packer-ng-plugin多渠道
91.android-priority-jobqueue多线程
92.Android-Debug-Database调试
93.conceal加密
94.ARouter页面路由
95.MagicaSakura多主题
96.CustomActivityOnCrash崩溃
97.XhsEmoticonsKeyboard键盘
1. Retrofit
一句话介绍:Retrofit是一款类型安全的网络框架,基于HTTP协议,服务于Android和java语言
上榜理由:Retrofit以21.8k的stars量雄踞github中android子标题榜首,第一当之无愧。
官网地址http://square.github.io/retrofit/
githubhttps://github.com/square/retrofit
作者:square团队
使用:
compile'com.squareup.retrofit2:retrofit:2.3.0'
2.okhttp
一句话介绍:okhttp是一款基于HTTP和HTTP2.0协议的网络框架,服务于java和android客户端
上榜理由,okhttp以20.4k的stars量雄踞github中android子标题第二名。大型公司比如淘宝也封装的是okhttp。Retrofit2.0开始内置okhttp框架,Retrofit专注封装接口完成业务需求,okhttp专注网络请求的安全高效,笔者将两者区分开,是想让后来学习者知道,这是两套框架,学习框架原理时可以分开学习,以免理解混乱。
官网地址http://square.github.io/okhttp/
githubhttps://github.com/square/okhttp
作者:square团队
使用:
compile'com.squareup.okhttp3:okhttp:3.8.0'
3.Butter Knife
一句话介绍:Butter Knife所提供了一种能力——使用注解生成模板代码,将view与方法和参数绑定。
上榜理由:github上16.5K个star,配合Androidstudio提供的Butter Knife插件,帮助开发者省却了频繁findviewbyid的烦恼,最新的Butter Knife还提供了onclick绑定以及字符串的初始化,初学者可以查阅Butter Knife以及Butter Knife插件进一步学习!
官网地址:http://jakewharton.github.io/butterknife/
github:https://github.com/JakeWharton/butterknife
作者:JakeWharton ,也是square团队成员之一
使用:
dependencies {
compile'com.jakewharton:butterknife:8.6.0'annotationProcessor'com.jakewharton:butterknife-compiler:8.6.0'}
4.MPAndroidChart
一句话介绍:MPAndroidChart是一款图表框架
上榜理由:github上16.1K个star,以快速、简洁。强大著称的图表框架
官网地址https://github.com/PhilJay/MPAndroidChart
github https://github.com/PhilJay/MPAndroidChart
作者:PhilJay
使用:
1. 在AS中加入Gradle依赖
在根目录的build.gradle上加入:
allprojects {
repositories {
maven { url"https://jitpack.io"}
}
}
在app的build.gradle上加入:
dependencies {
compile'com.github.PhilJay:MPAndroidChart:v3.0.2'}
5. glide
一句话介绍:glide是一款专注于提供流畅划动能力的“图片加载和缓存框架”
上榜理由:15.9k个star,图片加载类框架排名第一的框架,google 在2014开发者大会上演示的camera app就是基于gilde框架开发的
githubhttps://github.com/bumptech/glide
作者 Bump Technologies团队
使用:
repositories {
mavenCentral()
}
dependencies {
compile'com.github.bumptech.glide:glide:3.8.0'compile'com.android.support:support-v4:19.1.0'}
6.leakcanary
一句话介绍:一款内存检测框架,服务于java和android客户端
上榜理由:方便,简洁是leakcanary最大的特点,只需在应用的apllication中集成,就可以直接使用它;15.5k个star说明了它有多么受欢迎
github https://github.com/square/leakcanary
作者 square团队
使用:
dependencies {
debugCompile'com.squareup.leakcanary:leakcanary-android:1.5.1'releaseCompile'com.squareup.leakcanary:leakcanary-android-no-op:1.5.1'testCompile'com.squareup.leakcanary:leakcanary-android-no-op:1.5.1'}
在Application中写入:
publicclassExampleApplication extends Application {
@OverridepublicvoidonCreate() {
super.onCreate();if(LeakCanary.isInAnalyzerProcess(this)) {//This process is dedicated to LeakCanary for heap analysis.//You should not init your app in this process.return;
}
LeakCanary.install(this);//Normal app init code...}
}
7.EventBus
一句话介绍:EventBus是一款本地组件间通信框架
上榜理由:组件间通信框架star量第一:14.8k,在大型项目的Activities,fragments,Threads,Services都可以看到它的使用场景,尽管EventBus在向未创建的组件传递事件时有些局限,仅适合在“活着的”组件间传递消息,但仍不妨碍它活跃在各个大型项目各个场景里。
官网地址http://greenrobot.org/eventbus/documentation/how-to-get-started/
githubhttps://github.com/greenrobot/EventBus
作者 greenrobot
使用:
compile'org.greenrobot:eventbus:3.0.0'
8.zxing
一句话介绍:条码图像处理库
上榜理由:如果你用过二维码,你肯定已经间接使用过大名鼎鼎的zxing了。13.9K的star量,让它排在本榜单第九,实至名归,如果你有了解二维码的需求,不妨从了解、修改它源码入手。
githubhttps://github.com/zxing/zxing
作者 Sean Owen
9.picasso
一句话介绍:强力的图片下载、缓存框架
上榜理由:本榜单出现的第三款图片类框架,不同的是picasso更强调图片下载,你可以将picasso集成进你的项目中,你也可以结合gilde和UIL与picasso,三者一齐封装至你的项目中,按需所用。
官网地址http://square.github.io/picasso/
githubhttps://github.com/square/picasso
作者 square团队
使用:
compile'com.squareup.picasso:picasso:2.5.2'
或者下载
10.lottie-android
一句话介绍:一款可以在Android端快速展示Adobe Afeter Effect(AE)工具所作动画的框架
上榜理由:动画类框架第一名,github上13.3k个star证明了他的优越性,利用json文件快速实现动画效果是它最大的便利,而这个json文件也是由Adobe提供的After Effects(AE)工具制作的,在AE中装一个Bodymovin的插件,使用这个插件最终将动画效果生成json文件,这个json文件即可由LottieAnimationView解析并生成绚丽的动画效果。而且它还支持跨平台哟。
githubhttps://github.com/airbnb/lottie-android
作者:Airbnb 团队
11.fresco
一句话介绍:一款可以管理图片内存的框架
上榜理由:github上12.8k个star,图片类排行榜第四名,facebook的出身证明了它并非是重复造的轮子,在管理图片内存领域上有着它的一片天地,渐进式加载、加载gif都是它与前三位相比独有的特性
官网地址:https://www.fresco-cn.org/
githubhttps://github.com/facebook/fresco
作者 facebook
使用:
dependencies {//其他依赖compile'com.facebook.fresco:fresco:0.12.0'}
下面的依赖需要根据需求添加:
dependencies {//在 API < 14 上的机器支持 WebP 时,需要添加compile'com.facebook.fresco:animated-base-support:0.12.0'//支持 GIF 动图,需要添加compile'com.facebook.fresco:animated-gif:0.12.0'//支持 WebP (静态图+动图),需要添加compile'com.facebook.fresco:animated-webp:0.12.0'compile'com.facebook.fresco:webpsupport:0.12.0'//仅支持 WebP 静态图,需要添加compile'com.facebook.fresco:webpsupport:0.12.0'}
12.RxAndroid
一句话介绍:一款Android客户端组件间异步通信的框架
上榜理由:github上12.7k个star,位居组件通信框架的第二名,仅在EventBus之后,如果要问两者的区别,Eventbus是用来取代组件间繁琐的interface,RxAndroid是用来取代AnsyTask的,并不冲突;当然RxAndroid的优点并不仅限于此,更多优雅的实现,可以去官网查阅!
githubhttps://github.com/ReactiveX/RxAndroid
作者 JakeWharton
使用:
compile'io.reactivex.rxjava2:rxandroid:2.0.1'compile'io.reactivex.rxjava2:rxjava:2.1.0'
13.SlidingMenu
一句话介绍:侧滑菜单栏框架
上榜理由:与Userval-Image-loader 齐名的上古神器框架——为你的app提供侧滑菜单栏的功能;github闪更有10.5k个star,证明了它的经久不衰,即使在Google推出了NavigationDrawer,仍然没有减少开发者对SildingMenu的拥簇,经典总是经得起考验的,这个上古神兽已经四年没有更新了;有太多太多的app使用过它,这些都可以在软件的开源许可上看到!
githubhttps://github.com/jfeinstein10/SlidingMenu
作者 Jeremy Feinstein
使用:
在gihub上fork源码,集成进项目中
14.PhotoView
一句话介绍:一款ImageView展示框架,支持缩放,响应手势
上榜理由:10.3k的star数量,位于图片类框架排行榜第五位,PhotoView与前四位不同的是这次带来的是图片的展示能力,你一定好奇微信的头像点击放大是如何实现的,很多App的图片显示响应手势按压是如何实现的,了解PhotoView,你一定会开心的!(笔者也不会告诉你ImageView的点击放大效果在Android的sample也有)
githubhttps://github.com/chrisbanes/PhotoView
作者:chrisbanes
使用:
在app根目录的build.gradle中加入:
allprojects {
repositories {
maven { url"https://jitpack.io"}
}
}
在app的module目录的build.gralde中加入:
dependencies {
compile'com.github.chrisbanes:PhotoView:latest.release.here'}
使用
android:id="@+id/photo_view"android:layout_width="match_parent"android:layout_height="match_parent"/>
PhotoView photoView=(PhotoView) findViewById(R.id.photo_view);
photoView.setImageResource(R.drawable.image);
15.fastjson
一句话介绍:一款基于json解析、生成的框架
上榜理由:从它的名字不难看出,快速是它最大的特性,阿里巴巴的出身保证了代码的质量和优越,9.4k的star数量,也是榜单里第一个出现的中国开源框架,涉及网络的app都会用到json,fastjson值得作为你的首选!
githubhttps://github.com/alibaba/fastjson
作者:alibaba
使用:
compile'com.alibaba:fastjson:1.1.58.android'
16.tinker
一句话介绍:它是微信官网的Android热补丁解决方案
上榜理由:9.1k个star,微信在用的热补丁方案,心动不如行动
官网地址http://www.tinkerpatch.com/Docs/intro
githubhttps://github.com/Tencent/tinker
作者:Tencent
17.CircleImageView
一句话介绍:圆角ImageView
上榜理由:也许你已经听说过无数种展示圆角图片的方法,但如果你不尝试尝试CircleImageView,那么你的知识库会因为少了它黯然失色,有的时候完成需求是开发者优先考虑的,不同实现方法牵扯到的性能差异更值得让人深思,如果你有心在图片性能上有所涉猎,那么CircleImageView绝对不会让你败兴而归。最后别忘了记得去看Romain Guy的建议哟。
githubhttps://github.com/hdodenhof/CircleImageView
作者:Henning Dodenhof
使用:
dependencies {
...
compile'de.hdodenhof:circleimageview:2.1.0'}
xmlns:app="http://schemas.android.com/apk/res-auto"android:id="@+id/profile_image"android:layout_width="96dp"android:layout_height="96dp"android:src="@drawable/profile"app:civ_border_width="2dp"app:civ_border_color="#FF000000"/>
18.RxBinding
一句话介绍:一款提供UI组件事件响应能力的框架
上榜理由:如果你还未开始RxAndroid 之旅,RxBinding可以作为你的第一站,通过RXBinding,你将理解响应式编程的快乐,让项目里的事件流程更清晰。5.6K个star,RxAndroid作者亲自操刀,快来试用吧!
githubhttps://github.com/JakeWharton/RxBinding
作者:JakeWharton
Platform bindings:
compile'com.jakewharton.rxbinding2:rxbinding:2.0.0''support-v4'library bindings:
compile'com.jakewharton.rxbinding2:rxbinding-support-v4:2.0.0''appcompat-v7'library bindings:
compile'com.jakewharton.rxbinding2:rxbinding-appcompat-v7:2.0.0''design'library bindings:
compile'com.jakewharton.rxbinding2:rxbinding-design:2.0.0''recyclerview-v7'library bindings:
compile'com.jakewharton.rxbinding2:rxbinding-recyclerview-v7:2.0.0''leanback-v17'library bindings:
compile'com.jakewharton.rxbinding2:rxbinding-leanback-v17:2.0.0'
19.Luban
一句话介绍:最接近微信的图片压缩框架
上榜理由:好的思路总是可以让你大放异彩,Luban仅以图片压缩单一功能,俘获了4.8K个star,证明了它在图片压缩上的造诣,它可能不是最优秀的,但它是让你我最接近伟大的项目
githubhttps://github.com/Curzibn/Luban
作者:Curzibn
使用:
compile'top.zibin:Luban:1.1.1'
20.DroidPlugin
一句话介绍:一款热门的插件化开发框架
上榜理由:4.8K个star,插件化框架榜单第一名,,360团队出品,框架质量有保证,有成功案例——360手机助手,并且持续维护着
githubhttps://github.com/DroidPluginTeam/DroidPlugin/blob/master/readme_cn.md
作者:Andy Zhang
使用:
clone项目到本地
21.RxLifecycle
一句话介绍:一款提供在使用RxJava过程中管理Activity和Fragment生命周期能力的框架
上榜理由:在榜单靠前的部分,你已经了解RxJava和RxAndroid的强大之处,但部分粗心的开发者因为没有及时取消订阅而产生严重的内存泄漏,不要担心,RxLifecycle可以为你解决难题,在gtihub上拥有3.7K个star,国内知名软件——知乎和淘宝也都在使用它
githubhttps://github.com/trello/RxLifecycle
作者:trello团队
使用:
clone源码到本地
22.JsBridge
一句话介绍:一款提供WebView和Javascript通信能力的框架
上榜理由:该框架提供给了允许H5页面调用通过JS调用App方法的能力;3.1K个star,简洁的通讯方式,值得每一个Web\Hybrid App开发者尝试
gtihubhttps://github.com/lzyzsd/JsBridge
作者:hi大头鬼hi
使用:
repositories {//...maven { url"https://jitpack.io"}
}
dependencies {
compile'com.github.lzyzsd:jsbridge:1.0.4'}
四.其他:
1.AndroidUtilCode
一句话介绍:提供了数量庞大的工具类
上榜理由:10.8K的star个数,足以证明它是多么受欢迎,欢迎你提供常用的工具类壮大它!
githubhttps://github.com/Blankj/AndroidUtilCode/blob/master/README-CN.md
File → Settings... → Plugins → Browse repositories...
and search forfreeline.
2.kotiln
一句话介绍:Google推出的Android编程语言
上榜理由:就像AndroidStudio取代Eclipse那样,Goolg将kotiln作为Android的官网语言,也许是为了避免同Oracle的专利诉讼,但kotlin 100%兼容java,大幅精简java代码量,以及函数式编程的思想这些优异的特性同意值得我们注意,还记得在榜单之前说过的吗?未来是kotlin的,当下是java的,但我们处在当下通往未来的道路上——学习未来的编程语言,提升自己的工作效率,早点下班打豆豆,何乐而不为?
github:https://github.com/JetBrains/kotlin
使用:
http://kotlinlang.org/docs/reference/提供了 api-android用例-书籍等资源
六.书籍类项目
(排序无先后)
1.Android developer中国官网培训课程
一句话介绍:符合中国国情的Google开发者官网的子产品——Android开发者官网
上榜理由:这里有培训课程、API用例课程、Sample用例、依赖库介绍、AndroidStudio官网...等等一系列公开免费的课程,尽管大部分内容还是英文讲解,可是你肯靠着英语词典一篇一篇啃完,相信我,你的Android知识水平将秒杀国内市面上大部分的Android书籍
官网地址:https://developer.android.google.cn/training/index.html
作者:google
2.android-architecture
一句话介绍:google提供的Android当下各种基本框架
上榜理由:看完它,mvp,mvvm都将入切瓜砍菜,秋风扫落叶一般...
githubhttps://github.com/googlesamples/android-architecture
作者:google