|
|
51CTO旗下网站
|
|
vwin官网端

Android GitHub 常用开源结构汇总

现在 GitHub 上盛行的开源库极大地节约了开发者从 0 开发的时刻,许多公司和个人都在 GitHub 上开源自己的项目,今日咱们就来收拾一下 Android 开发中一些十分盛行的库,也是咱们有必要把握的,这样可以使咱们在运用届时快速的查找到,这儿的总结根本也都是自己在开发中用到的。

作者:EmailLi来历:安卓巴士|2019-06-11 12:29
m88 188bet uedbet 威廉希尔 明升 bwin 明升88 bodog bwin 明升m88.com 18luck 188bet unibet unibet Ladbrokes Ladbrokes casino m88明升 明升 明升 m88.com 188bet m88 明陞 uedbet赫塔菲官网 365bet官网 m88 help

现在 GitHub 上盛行的开源库极大地节约了开发者从 0 开发的时刻,许多公司和个人都在 GitHub 上开源自己的项目,今日咱们就来收拾一下 Android 开发中一些十分盛行的库,也是咱们有必要把握的,这样可以使咱们在运用届时快速的查找到,这儿的总结根本也都是自己在开发中用到的,也就是一些个人的见地,只做参阅,不具有权威性。

Android GitHub 常用开源结构汇总

一、网络库

1. Retrofit

Retrofit 是 Square 公司研制的网络恳求库,也是现在 Android ***的 HttpClient 库之一,越来越多的公司开端运用这个恳求库,并且可以***结合 RxJava,就像官网介绍的相同,Retrofit 是一款类型安全的网络结构,依据 HTTP 协议,服务于 Android 和 Java 言语。

GitHub 地址:Retrofit GitHub 地址

2. okhttp

相同 okhttp 也是 Square 公司研制的网络恳求库,是一款依据 HTTP 和 HTTP2.0 协议的网络结构,服务于 Java 和 Android 客户端,okhttp 以 21K 的 stars 排在 GitHub 中 android 子标题的第二名,许多公司都在运用,从 Retrofit 2.0 开端内置 okhttp 结构,Retrofit 专心封装接口完结事务需求,okhttp 专心网络恳求的高效安全。

3. volley

Google 的 Andorid 开发团队也意识到有必要将 HTTP 的通讯操作再进行简化,所以在 2013 年度的 Google I/O 大会上推出了一个新的网络通讯结构—Volley,Volley 在功用方面进行了大幅度的调整,它是规划方针是合适进行数据量不大,但通讯频频的网络操作,关于数据量大的网络操作就会体现糟糕。

GitHub 地址:volley GitHub 地址

4. Fast Android Networking

依据OkHttp的Fast Android Networking能让网络通讯变得简练(不必样板代码),使得开发者能简略写出通讯代码。它是一个轻量级的快速网络通讯库。试试看,你会爱上它。

GitHub 地址:FastAndroidNetworking GitHub 地址

二、图片加载库

在 Android 设备上面,快速高效的显现图片是极为重要的,在曩昔的很长时刻里,咱们在怎么高效的存储图画这方面遇到了许多问题,例如图片太大,可是内存却比较小,可是越来越多优异开源结构的运用处理了咱们这方面的问题,接下来咱们来看看这些优异的开源结构。

1. glide

在泰国举办的谷歌开发者论坛上,谷歌为咱们介绍了一个名叫 glide 的图片加载结构,作者是 bumptech 这个库被广泛的运用在 Google 开源的项目中,包含 2014 年 Google I/O 大会上发布的官方 App。

GitHub 地址:Glide GitHub 地址

2. fresco

一款办理图片内存的计划,是现在***大的图片加载结构之一,facebook 的身世证明了它不是重复的制造轮子,在办理图片的内存上以及渐进式加载、加载 gif 都具有独有特性。

GitHub 地址:Fresco GitHub 地址

3. picasso

十分强壮的图片下载、缓存结构,picasso 更着重的是图片的下载,更重要的是这也是 square 团队的著作,想必说到 square 团队,它出片的东西咱们仍是十分的放心运用。

GitHub 地址:picasso GitHub 地址

4. Android-Universal-Image-Loader

看到这个,想必有必定经历的 Android 开发者都会十分的了解,从前的图片加载之王名副其实,15.4k 的 stars 足以证明它的抢手,与 glide 不同的是 UIL 供给了许多的装备办法,图片加载状况的回调,加载动画等,以及供给了vwin官网端图片加载结构的缓存思路,三级缓存战略等。

GitHub 地址:UIL GitHub 地址

5. PhotoView

一款 ImageView 展现结构,支撑缩放,呼应手势,坐落图片排行榜的第五位,PhotoView 与上面不同的是图片的展现功用,可以完结相似微信头像的扩大功用,还有就是许多 App 的图片显现呼应手势按压式怎么是实践的,这儿 PhotoView 将都可以轻松完结。

GitHub 地址:PhotoView GitHub 地址

6. CircleImageView

圆角 ImageView,在咱们的 App 中这个想必是太常见了,或许咱们可以有无数种展现圆角图片的办法,可是 CircleImageView 肯定是咱们在开发时需求优先考虑的,假如你还不知道 CircleImageView,那么你需求赶快去体会它在处理圆角图片时的强壮了,信任你肯定会觉得和 CircleImageView 相见恨晚,需求留意的是这个并不是图片加载库,暂时归类放在这儿。

GitHub 地址:CircleImageView GitHub 地址

关于图片加载库咱们就介绍这 6 个,咱们可以依据自己的特定状况来挑选运用。

三、UI

1. material-dialogs

是一款自界说View结构,如多你仍是一个自界说 View 的新人,对 Dialog 运用还有点陌生,那么经过运用 material-dialogs 可以提高你的 Dilaog 运用才能。

GitHub 地址:material-dialogs GitHub 地址

2. flexbox-layout

是一款弹性弹性布局,FlexboxLayout 作为 LinearLayout 和 RelativeLayout 的替代者,值得咱们在项目开发中去测验运用,毕竟是 Google 出品。

GitHub 地址:flexbox-layout GitHub 地址

3. AndroidSwipeLayout

十分强壮的滑动式布局,滑动删去是咱们 app 中的常见需求,产品概况的上下滑动需求在实践开发中咱们也是常常遇到,AndroidSwipeLayout 在 GitHub 上有 8300 个 stars,证明仍是值得运用。

GitHub 地址:AndroidSwipeLayout GitHub 地址

4. BaseRecyclerViewAdapterHelper

强壮的通用 RecyclerView 适配器,在 GitHub Android 适配器排行榜***。

GitHub 地址:BaseRecyclerViewAdapterHelper GitHub 地址

5. MaterialDrawer

强壮的资料风格的抽屉结构,十分灵敏,易于运用。

GitHub 地址:MaterialDrawer GitHub 地址

6. Android-ObservableScrollView

一款让视图滑动更具有视觉作用的滑动式结构,在 GitHub 上供给了 12 种滑动作用,可以用来提高 App 的滑动体会。

GitHub 地址:Android-ObservableScrollView GitHub 地址

7. AppIntro

一款供给快速制造欢迎页的结构,在国内的 App 开发中,ViewPager 开发 App 的欢迎页现已是标配的需求,可是 AppIntro 也是肯定值得你一看。

GitHub 地址:AppIntro GitHub 地址

8. ViewPagerIndicator

一款依据 ViewPager 的页面指示器开源结构,作者是 Android 大神 JakeWharton,仅仅现已很长时刻没有更新了,咱们可以参阅运用。

GitHub 地址:ViewPagerIndicator GitHub 地址

好了 UI 相关的库就介绍这么多,今后发现好用的会增加进来,便当查阅。

四、动画

1. lottie-android

动画类结构排行榜***名,一款可以在 Android 端快速展现 Adobe Afeter Effect(AE) 东西所做动画的结构,运用 json 文 件快速完结动画作用是它***的便当,而这个 json 文件也是由 Adobe 供给的 AE 东西制造的,在 AE 中装一个 Bodymovin 的插件,运用这个插件最终将动画作用生成 json 文件,这个 json 文件即可由 LottieAnimationView 解析并生成艳丽的动画作用,并且它还支撑跨渠道。

GitHub 地址:lottie-android GitHub 地址

2. Material-Animations

一款供给场景转化过渡才能的动画结构,与 lottie-android 不同的是,Material-Animations 供给的是场景切换的动画作用。

GitHub 地址:Material-Animations GitHub 地址

3. AndroidViewAnimations

一款供给心爱动画集的动画结构,在 lottie-android 和 Material-Animations 两个动画结构霸主之后排名第三,可见也是十分凶猛。

GitHub 地址:AndoridViewAnimations GitHub 地址

4. recyclerview-animators

为 recyclerview 供给扩展动画的结构,recyclerview 现已推出了很长时刻,假如你还在运用 ListView,那就阐明你老了。

GitHub 地址:recyclerview-animators GitHub 地址

五、json 解析结构

1. fastjson

一款依据 json 解析、生成的结构,是阿里出品,这就确保了代码的质量,在网络恳求时运用较多,值得测验。

GitHub 地址:fastjson GitHub 地址

2. GSON

一个供给Java目标序列化/反序列化至JSON格局的库。

GitHub 地址:gson GitHub 地址

六、内存走漏检测

1. leakcanary

一款内存检测结构,服务于 Java 和 Andorid 客户端,便当简练是 leakcanary ***的特色,只需求在运用的 apllication 中集成,就可以直接运用它,15.9k 的 stars 满足阐明它的凶猛,最关键是是,它也是 square 团队的著作,就这一条,不必说信任咱们也都了解。

GitHub 地址:leakcanary GitHub 地址

七、页面路由

1. ARouter

一款供给服务、页面跳转的路由结构,由阿里出品,该结构供给:从外部 URL 映射到内部页面、跨模块的页面跳转(模块化必备,页面解耦),阻拦跳转进程等才能,肯定是一个企业级的开发结构。

GitHub 地址:ARouter GitHub 地址

八、数据库结构

1. realm-java

Realm 是一款专门为vwin官网端打造的数据库结构,比一般的数据库更快,力压 greenDAO。

GitHub 地址:Realm GitHub 地址

2. greenDAO

greenDAO 是一款高效、快速的 SQLite 型数据库,star 数量和 Realm 平起平坐,由 greenrobot 团队开发保护,此团队还有一个很牛的结构就是 EventBus。

GitHub 地址:greenDAO GitHub 地址

九、异步

1. RxJava

RxJava 是 ReactiveExtensions 的 Java VM 完结:用于经过运用 observable 序列来组合异步和依据事情程序的库,它扩展观察者形式以支撑数据/事情序列,并增加答应你以声明组合序列的操作符,一起提取对初级线程、同步、线程安全性和并发数据结构等问题的躲藏。

GitHub 地址:RxJava GitHub 地址

2. RxAndroid

一款 Android 客户端组件间异步通讯结构,坐落通讯结构排行榜的第二名,仅在 EventBus 之后,两者的区别是 EventBus 是用来替代组件之间繁琐的 Interface,而 RxAndroid 是用来替代 AnsyTask 的,两者并不抵触。

GitHub 地址:RxAndroid GitHub 地址

3. agera

Agera 是一组类和接口,可以帮组编写 Android 的功用,异步和无效运用程序,需求 Android SDK 版别 9 或更高,是 Google 官方出品。

GitHub 地址:Agera GitHub 地址

4. RxBinding

一款供给 UI 组件事情呼应才能的结构,经过 RxBinding 可以了解呼应式编程的高兴,让项目的事情流程愈加的明晰。

GitHub 地址:RxBinding GitHub 地址

十、事情音讯

1. EventBus

事情间通讯结构 stars ***,在大型项目的 Activities、Fragments、Threads、Services 都有运用场景,虽然 EventBus 在向未创立的组件传递事情时有些限制,仅合适在活着的组件之间传递音讯,但任然不阻碍在各个大型项目的场景中运用。

GitHub 地址:EventBus GitHub 地址

十一、图表

1. MPAndroidChart

MPAndroidChart 是一款图表结构,以快速、简练,强壮著称的图表结构,支撑线条、饼型、气泡和烛台图,以及缩放、拖动和动画。

GitHub 地址:MPAndroidChart GitHub 地址

十二、生成模板代码

1. butterknife

运用注解生成模板代码,将 view 与办法和参数绑定,合作 Android Studio 供给的 ButterKnife 插件,帮组开发者省却了频频的 findViewById 的烦恼,***的 ButterKnife 还供给了 onclick 绑定以及字符串的初始化,初学者可以查阅 ButterKnife 以及 ButterKnife 进一步学习,作者是 JakeWharton,是大名鼎鼎的 square 的团队成员之一。

GitHub 地址:butterknife GitHub 地址

十三、其他

1.Device Year Class

Device Year Class会奉告当时设备的内存,CPU核和时钟频率在哪一年的产品线里归于高配。它可以让开发者依据手机的硬件功用来让app做出不同的行为。

GitHub 地址:DeviceYearClass GitHub 地址

2.Network Connection Class

Network Connection Class可以查询当时用户的网络衔接质量。它会依据网络质量的不同分红好几种”Connection Classes”(衔接分类)让开发更简略。这个库经过监听app已有的网络流量状况并在通讯速度改动的时分告诉用户。开发者可以经过网络衔接状况调理app的行为(比方运用更低质量的影音,停止运用输入提示等等)。

GitHub 地址:NetworkConnection GitHub 地址

3.Android Debug Database

Android Debug Database是一个功用强壮的用于调试安卓数据库和同享***项(shared preference)的库。它是一个在阅读器里阅读数据库和同享***项的简略易用的东西。

GitHub 地址:DebugDatabase GitHub 地址

4.LeakCanary

LeakCanary是一个安卓和Java上用于检测内存走漏的一个库。

GitHub 地址:Leakcanary GitHub 地址

5.Dagger

安卓和java的快速的依靠注入库。它简化了关于共用实例的读写,使杂乱的依靠设置变的简略,让单元测验和集成测验愈加简略。

GitHub 地址:Dagger GitHub 地址

6.Realm

简略存储,高速查询,节约许多开发时刻。Realm Mobile Database是SQLite的一个替代品,一个ORM处理结构。

GitHub 地址:Realm GitHub 地址

7.Timber

在安卓原有的Log class之上供给有小型,可扩展API的一个Logger。

GitHub 地址:Timber GitHub 地址

8.Hugo

经过标示触发为你的debug build主动记录办法调用的日志。作为一个程序员,你常常需求参加logging函数打印程序里边的函数调用,以及参数和返回值,并花时刻履行。这不是什么问题,咱们每个人都这样做。仅仅能不可以让它变得更简略一些呢?只要在函数头加上@DebugLog你就能得到咱们方才所讲的一切信息。

GitHub 地址:Hugo GitHub 地址

9.Android GPU Image

供给安卓上高效的依据OpenGL的滤镜的库。

GitHub 地址:GPU Image GitHub 地址

10.ExoPlayer

ExoPlayer是一个运用级的安卓媒播映器。它供给的API支撑播映本地或许网络上的音频。ExoPlayer支撑当时安卓媒体播映器API不支撑的功用,比方DASH和Smooth Streaming adaptive playbacks(依据带宽主动实时调理播映分辨率)。

GitHub 地址:ExoPlayer GitHub 地址

【修改引荐】

  1. 谷歌正在打通 Chrome OS 和 Android 的生态体系
  2. 华为Mate 20 Pro重回Android Q名单中
  3. 谷歌:不能制止华为手机运用 Android,会要挟国家安全
  4. Android Q Beta 4来啦!揭露API也已定稿!
  5. 我的 Android 路要怎么走~
【责任修改:未丽燕 TEL:(010)68476606】

点赞 0
同享:
咱们都在看
猜你喜爱

订阅专栏+更多

16招轻松把握PPT技巧

16招轻松把握PPT技巧

GET职场加薪技能
共16章 | 晒书包

289人订阅学习

20个局域网建造改造事例

20个局域网建造改造事例

网络建立技巧
共20章 | 捷哥CCIE

645人订阅学习

WOT2019全球人工智能技能峰会

WOT2019全球人工智能技能峰会

通用技能、运用领域、企业赋能三大章节,13大技能专场,60+国内外一线人工智能精英大咖站台,同享人工智能的渠道东西、算法模型、语音视觉等技能主题,助力人工智能落地。
共50章 | WOT峰会

0人订阅学习

读 书 +更多

超级网管员——网络根底

本书全面体系地归纳了核算机网络的根本理论,具体论述了OSI模型与网络协议、网络规划与归纳布线、对等网络与服务器/客户端网络、Intranet服...

订阅51CTO邮刊

点击这儿检查样刊

订阅51CTO邮刊

51CTO服务号

51CTO播客