20多个可以提高你安卓开发技能的开源app

学习的最佳方式就是阅读,对程序员来说也是如此。如果你想成为一个更优秀的程序员,你必须阅读更多的代码,就是这么简单。书籍,博客,论坛在某种程度上都是有益的,但是没有什么能替代功能完善、代码详细的开源项目。整个app的所有相关资源都直接呈现在你面前。
你所要做的就是坐下来,泡上一杯茶,然后阅读一些够劲儿的代码。本文给大家介绍一些绝佳的不同种类和风格的开源项目,满足你学习和开发的所有需要。

在深入代码之前,你可以直接从Play Store上下载这些app亲自尝试一下。每个app旁边的难度等级可以帮助你判断:是立即深入了解,还是暂放一边。
LeafPic
(Github | Play Store | 难度: 初级)

1487078102565867.png

相册和视频app是最常见的app之一,任何一个安卓设备上都能看到。是否好奇过它们是如何实现的呢?LeafPic是你可以尝试和学习的最佳开源相册程序之一。
它非常简单,容易理解,适合任何一个初级开发者。从这个app中我发现的最好的东西就是它实现动态主题的方式。这可是许多开发者费劲千辛万苦想要做好的东西。
Simple Calendar
(Github | Play Store | 难度: 初级)
1487078145747117.png

一个完全用Kotlin实现的简单易用的日历app。如果你想学习Kotlin,那么它可能是最佳的入门方法之一。
这个app的目的非常简单,所以非常适合学习如何用这个全新的语言去开发app。另一个比较酷的事情是可以学到如何自定义窗口小部件(Widget)。
Amaze File Manager
(Github | Play Store | 难度: 中等)

1487078186128234.jpeg

安卓设备上另一个极其常见的应用是文件管理器。
虽然构建一个文件管理器看起来很简单,但实际上要在所有安卓平台和设备上都能正常运行是非常困难的。
从这个app中你可以学到很多东西,尤其是如何正确执行SD card上的文件处理。但是我不建议你学习这个项目的编程风格,因为它是不符合标准的。
Easy Sound Recorder
(Github | Play Store | 难度: 初级)
1487078278647628.png
1487078278647628.png

一个简单,易用,漂亮的音频录制app。如果你想学习安卓中的音频录制与控制,那么这个项目是你开始旅程的最好方法。
这个项目非常小(只有一个Activity),也很好理解。初学者可以从这个项目中学到Material Design的基础知识。
MLManager
(Github | Play Store | 难度: 初级)
1487078333128505.png

MLManager是一个简单的app管理器。如果你想学习如何得到安装在设备中的app的详细信息,那么这个app对你而言是个理想的选择。
这个app的编码风格非常好,值得借鉴。它还有助于你理解如何设计一个遵循Material Design规范的app。
PhotoAffix
(Github | Play Store| 难度: 初级)

1487078377567761.png

一个非常简单,设计简约的app,用来垂直或者水平拼接图片。听起来很简单是吧?
对于想学习安卓开发基础知识的新手这是一个理想的资源。编码风格是顶级的。
你还会学会制作简单但实用的自定义view,帮助你打好基础,以便今后创建一些真正复杂的视图。
MovieGuide
(Github | 难度: 中等)
1487078414220839.png

这个app的目的很简单,就是列出流行的电影以及它们的预告和影评。但是让这个项目有趣的东西是它实现的方式。
这个app演示了一些很酷的开发方式,比如MVP,Uncle Bob的Clean Architecture,RxJava以及Dagger 2。
这个app很简单但是实现的方式很棒,值得一看。
AnExplorer
(Github | | Play Store | 难度: 中等)
1487078464219419.jpeg

又是一个简单的,轻量的文件管理器,为手机和平板而设计。
从这个项目中可以学到文件处理,root管理,loaders,自定义view等。做的非常好,不用花费多长时间就能了解代码里面做了什么。
Minimal ToDo
(Github | Play Store | 难度: 初级)
1487078521751636.png

如果你是一个新手,这是一个简单但很酷的项目。你将有机会学到安卓开发的绝大多数基础知识。
这个app设计得很好,作为初学者的起点再合适不过了。但是不要借鉴它的代码风和包结构的设计,因为它们不符合标准并且应该尽量避免。
Timber
(Github | Play Store | 难度: 高级)
1487078575441807.png

Timber是一个设计漂亮,功能完善的音乐播放器。如果你曾想过开发自己的音乐app或者跟音乐相关的app,那么这个项目可以一看。
这个项目很大,而且还在积极的开发中。对于初学者可能有点困难,不过对于中级开发者来说应该是非常有意思的。
AnotherMonitor
(Github | Play Store | 难度: 中等)
1487124016901386.png

如果你想学习安卓进程,内存,CPU等系统管理方面的知识,这是一个不错的项目。
项目很简单,也很好理解,不过其代码风格,架构以及整体设计不值得模仿。
InstaMaterial
(Github | 难度: 初级)

如果你在寻找一个学习与提高Material Design技术的项目,那么这个项目就是为你量身定做的。该项目用 Material Design重构了Instagram app的部分UI。
这个app中使用了大量的元素,动画以及过渡动画,这些都可以用在自己的项目中。
它非常简单,也很好理解,非常适合那些想提高自己设计能力的安卓开发者。
CoCoin
(Github | 难度: 简单)

1487124220113242.png

CoCoin是一个功能完善的个人财物与机长工具,UI简单干净。
如果你想学习如何桥党的管理较多的用户数据,为这些数据绘制漂亮的统计图,制作漂亮的自定义视图,那么这个开源项目就非常适合你。
OmniNotes
(Github | Play Store | 难度: 中等)
1487124341657052.png

如果你想找一个Evernote那样的,功能全面的笔记类应用,那么这个项目就正好适合你。
这个项目非常大,有许多功能比如分享,搜索,附加图片,视频,音频,在笔记中涂鸦,添加提醒等。
另一个非常酷的事情是你可以从这个项目中学到如何在app中无缝集成Google Now。
Clip Stack
(Github | Play Store | 难度: 初级)
1487124472123849.png

一个简单,干净,漂亮的剪切版管理app。这个项目非常小巧,简单,也很容易看懂。
但是项目的结构,命名规范以及编码风格都不是很标准。它完全是按照对初学者友好的方式来构建的。
Super Clean Master
(Github | 难度: 高级)
1487124532349676.jpeg
1487124532349676.jpeg

如果你用过一个安卓设备,你一定曾有过清理设备中垃圾数据的需求。Clean Master就是这类应用中最受欢迎的应用之一。
这个app,就如其名称那样,试图用干净优雅的方式模仿Clean Master的大多数功能。但是整个项目比较复杂,可能会花一些时间才能理解。
Travel Mate
(Github | 难度: 中等)
1487124578122855.png

如果你要找一个旅途类,对地图和位置依赖很强的应用,那么这个项目可能是最佳的选择。
app的设计和代码质量都算不上很规范,但是整个app还是非常好,对初学者而言(甚至中级开发者)可以学到很多东西。
KISS
(Github | Play Store | 难度: 中等)
1487127791505666.png

一个简单,快速,轻量的launcher应用。项目中可以学到几个非常酷的功能。
所以如果你想为安卓制作一个launcher,这个项目就很适合。app很小,项目也很容易上手。
Turbo Editor
(Github | Play Store | 难度: 中等)
1487127847271057.png

一个简单但是强大的文字编辑应用。你还可以用这个app来写代码,支持不同语言的语法高亮。
绝大多数应用在打开大型文本文件的时候都会失败或者崩溃,这个app却很好的处理了这个问题。从这个项目中你有机会学到如何实现一个健壮的文本(或者代码)编辑app。
Wally
(Github| 难度: 初级)

1487127879124521.png
1487127879124521.png

一个快速,简单,高效的wallpaper app。从这个项目中你可以学到很多东西,尤其是对初学者而言。
该app的架构非常不错,使得很容易扩展和修改。app的目的很简单,但是其实现的方法非常值得赞赏。
Pedometer
(Github | 难度: 初级)
1487127922925398.png

一个简单,轻量的计步器app,使用硬件传感器计算步数,而且对电池的消耗非常小。
对学习计步功能而言是不错的项目,但是编码规范和设计还不够好。
end
我已经介绍了一些几乎能满足所有开发者的不同类型的开源项目,有些app对于初学者和高级开发者都是有用的。
希望你觉得这些开源项目都是有用的。本文最初发表在TechBeacon
如果支持的话点击下方的💚 并分享给其它的Medium用户。

福利(译者)
1000多个精选的安卓开源代码 ,有优秀代码的同学可以联系我。微博:http://weibo.com/u/2711441293

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,761评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,953评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,998评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,248评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,130评论 4 356
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,145评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,550评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,236评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,510评论 1 291
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,601评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,376评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,247评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,613评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,911评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,191评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,532评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,739评论 2 335

推荐阅读更多精彩内容