对程序员来说,最好的学习也是阅读,多看别人优秀的代码,加以总结学习应用。如果你想成为一个更好的开发者,就必须阅读大量的代码。
书本,博客,论坛在一定程度上都是比较好的,但是比不上一些功能完整详细的开源项目。
所以你要做的就是喝着咖啡看代码。O(∩_∩)O哈哈~
下面列出来一些比较好的开源项目,每个项目都标注有难易程度。希望可以帮到你~
LeafPic
(Github | Play Store | Difficulty: 初级)
照片墙类的app是比较常见的。你是否有想过它们是如何开发的呢?LeafPic就是一个比较好的开源照片墙类的APP。
这个项目较简单,容易上手,比较适合初级选手。值得一提的是它包含了切换主题这一功能。
Simple Calendar
(Github | Play Store | Difficulty: 初级)
这是一款用Kotlin语言编写的日历app。如果你想学Kotlin,这个开源项目绝对能帮到你。该项目还可以帮助你学习到添加桌面小工具。
Amaze File Manager
(Github | Play Store | Difficulty: 中级)
文件管理类的app也是一类比较常见的应用。
做一个能适配大部分android设备的管理类app是相当难的。你可以从这个项目中学到很多,尤其是处理SD卡上的文件。
但是不建议参考这个项目的编码,因为不够标准。
Easy Sound Recorder
(Github | Play Store | Difficulty: 初级)
这是一款简单的录音app。如果你想学关于录音方面,这个开源项目可以帮到你。
该项目只有一个Activity,代码非常好理解,并且采用的是MD设计。
MLManager
(Github | Play Store | Difficulty: 初级)
该软件可帮助管理手机里面的apps。从这个项目中可以学到如果获取软件的详细信息,导出apk,卸载软件等功能。
这个项目的编码风格很好,可以借鉴,它的简洁代码设计和MD设计都可以参考。
PhotoAffix
(Github | Play Store | Difficulty: 初级)
这款应用可以水平或者垂直合并图像。从它的代码中可以学到简单的自定义控件基础。
MovieGuide
(Github | Difficulty: 中级)
该项目采用了MVP,Clean架构进行开发。包含了RxJava和Dagger2的应用。
AnExplorer
(Github | Play Store | Difficulty: 中级)
同样是一款轻量级的文件管理器,适用于手机和平板。
root管理,loaders,自定义控件等功能都可以从这个项目中学到。
Minimal ToDo
(Github | Play Store | Difficulty: 初级)
该项目比较适合初学者学习参考。
Timber
(Github | Play Store | Difficulty: 高级)
Timber是一款设计非常漂亮的音乐播放器,如果你正在开发一款属于自己的播放器,那么正好可以参考学习一下这个。
这个项目距比较大,但是非常受欢迎。
AnotherMonitor
(Github | Play Store | Difficulty: 中级)
该项目可以帮助你了解到监控系统进程,内存使用,CPU使用等情况。
代码风格较好,简单容易理解。但是UI设计不敢恭维。
InstaMaterial
(Github | Difficulty: 初级)
该项目学习了Instagram这款应用的材料设计,正好可以帮助你提高你的MD水平。
Cocoin
(Github | Difficulty: 初级)
Cocoin是一款个人财务记账软件。该项目可以帮助你学到操作大量用户数据,绘制漂亮的表格,自定义比较酷的控件等。
OmniNotes
(Github | Play Store | Difficulty: 中级)
这是款类似于Evernote的笔记类app。
该项目由大量的功能,比如分享和收缩note,在note中可添加图片,视频,音频,sketch等附件,还可以添加提醒人。
Clip Stack
(Github | Play Store | Difficulty: 初级)
该项目是一个简洁漂亮的剪切板管理软件。
Super Clean Master
(Github | Difficulty: 高级)
这是一个模仿【清理大师】的应用。
功能较多,建议仔细研究。
Traval Mate
(Github | Difficulty: 中级)
如果你正在开发一款重度依赖位置和地图旅行类的app,那么你就可以参考该项目。
KISS
(Github | Play Store | Difficulty: 初级)
一个简单,快速,轻量级的launcher应用。
Turbo Editor
(Github | Play Store | Difficulty: 中级)
这是一款非常强大的文本编辑器。通过这个app可以编写代码,并提供语法高亮的功能。
Wally
(Github | Difficulty: 中级)
这是一款壁纸应用。
Pedometer
(Github | Difficulty: 初级)
这是一款通过传感器计步类的app。
代码可参考学习,界面设计就惨了点~~