开源框架框架【库】开源项目源码解析

android github主流框架大全

2018-09-26  本文已影响126人  宝马奔驰_xyz

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'

或者下载

jar包

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的,但我们处在当下通往未来的道路上——学习未来的编程语言,提升自己的工作效率,早点下班打豆豆,何乐而不为?

官网地址:http://kotlinlang.org/

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

上一篇下一篇

猜你喜欢

热点阅读