有哪些优秀的Android开源项目最值得阅读?这里Android中近百个优秀开源库,包你提高效率

49 篇文章 1 订阅
4 篇文章 0 订阅

对于任何一个对Android开发感兴趣的人而言,对于android系统的学习必不可少。而学习系统最佳的方法就如linus所言:“RTFSC”(Read The Fucking Source Code)。

Android 应用开发已经进入到相对成熟的阶段,特别在国外,涌现出了各式各样的成熟稳定的开源库,供普通开发者使用。这种情况虽然极大加速了 app 开发的进程,但同时带来的问题是大多数普通开发者在使用这些开源库的时候只是止步于知道怎么使用它,但对开源库的底层实现原理并不清楚,或者不怎么深究,导致的问题很多:

  • 1)当开源库出现 bug 时,不能够很好很快的定位出问题;
  • 2)自己日常的代码编写只局限于实现 app 的业务逻辑,太上层,对技术水平的提升没有多大的好处;
  • 3)对追求完美的人来说,只有对自己项目中所有代码实现的原理都清楚的时候,才会安心,才会有成就感;
  • 4)当自己项目需要写基础库代码时,如果已经熟知各种开源库的实现,那么更能设计出好的架构,写出好的代码。

而为了解决以上所存在的问题,加强大家对底层原理的理解,这里结合BAT架构师给大家整合了一份百大框架源码解析,其所选择内容均为当下企业正热门使用的开源库,由浅入深、庖丁解牛式地分析每一个步内容,并提炼归纳,同时引入例子与源代码、时间复杂度与空间复杂度的分析,多维度加深大家的理解应用。

《百大框架源码解析》快速索引

框架名称上榜关键字
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语言

2.okhttp

一句话介绍:okhttp是一款基于HTTP和HTTP2.0协议的网络框架,服务于java和android客户端
在这里插入图片描述

3.Butter Knife

一句话介绍:Butter Knife所提供了一种能力——使用注解生成模板代码,将view与方法和参数绑定。

4.MPAndroidChart

一句话介绍:MPAndroidChart是一款图表框架

5.glide

一句话介绍:glide是一款专注于提供流畅划动能力的“图片加载和缓存框架”

6.leakcanary

一句话介绍:一款内存检测框架,服务于java和android客户端
在这里插入图片描述

7.Android-Universal-Image-Loader

一句话介绍:曾经的图片加载框架王者,android开发老手都用过它

8.EventBus

一句话介绍:EventBus是一款本地组件间通信框架

9.zxing

一句话介绍:条码图像处理库

10. Picasso

一句话介绍:强力的图片下载、缓存框架
在这里插入图片描述

其他

笔者寄语:

目前初中级开放人员总是占多数。但你有没有想过,那些高级工程师,资深工程师,架构师是如何升上去的呢?想在技术线往上升,起码在技术上你得有别于其他人的竞争力。对框架的透彻理解就是提升竞争力的方式之一。

Android开发又将带来新一轮热潮,很多开发者都投入到这个浪潮中去了,创造了许许多多相当优秀的应用。其中也有许许多多的开发者提供了应用开源项目,贡献出他们的智慧和创造力。学习开源代码是掌握技术的一个最佳方式。下面推荐几个应用开源项目,这些项目不仅提供了优秀的创意,也可以直接掌握 Android内核的接口使用: 1、Android团队提供的示例项目   如果不是从学习Android SDK中提供的那些样例代码开始,可能没有更好的方法来掌握在Android这个框架上开发。由Android的核心开发团队提供了15个优秀的示例项目,含了游戏、图像处理、时间显示、开始菜单快捷方式等。   2、 Remote Droid   RemoteDroid是一个Android应用,能够让用户使用自己的无线网络使用无线键盘、触摸屏操作手机。这个项目为开发者提供了如网络连接、触摸屏手指运动等很好的样例。   3、 TorProxy和Shadow   TorProxy应用实现了Android手机无线电电传通讯(TOR),和Shadow应用一起使用,可以使用手机匿名上网。从该项目源代码中,可以掌握socket连接、管理cookie等方法。      4、 Android SMSPopup   SMSPopup可以截获短信内容显示在一个泡泡形状的窗口中。从这个项目中可以掌握到如何使用内置的短信SMS接口。   5、 Standup Timer   Standup Timer应用用于控制站立会议时间,类似秒表倒计时,可以提醒每个人的讲话时间已到,从而保证每个与会者使用时间一样。从该项目的代码中,可以学会如何使用时间函数。另外,这个项目的代码是采用视图view、模型model严格分离的设计思路。      6、 Foursquare   是Foursquare.com的一个客户端应用,该应用主要分为两个模块:API(com.joelapenna.foursquare)和界面前端 (com.joelapenna.foursquared)两部分。从该项目代码中,可以学会如何同步、多线程、HTTP连接等技术。   7、 Pedometer   Pedometer应用用于记录你每天走路步数的。尽管记录不一定精准,但是从这个项目中,可以学习几个不同的技术:加速器交互、语音更新、后台运行服务等。   8、 OpenSudoku-android   OpenSudoku是一个简单的九宫格数独游戏。从代码中可以学习到如何在视图中显示表格数据,以及如何和一个网站交互等技术。   9、 ConnectBot   ConnectBot是Android平台的一个客户端安全壳应用。从该项目代码中,可以学习到很多Android安全方面的内容,这些是你在开发应用时经常需要考虑的安全问题。   10、WordPress的Android应用   当然在最后不能不提WordPress的Android应用了,这是WordPress官方开发团队提供的一个项目。从代码中可以学习到XMLRPC调用(当然还有更多的优秀内容)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值