协作翻译
链接:https://blog.aritraroy.in/20-awesome-open-source-android-apps-to-boost-your-development-skills-b62832cf0fa4
译者:Tocy,cassia_tora,总长,Marven_Chi
“
在这篇文章中,我们提供了一些来自各种类别和风格的最好的开源 Android 应用程序,以满足你所有的学习和开发需求。
”
学习的最好方法是阅读,对于开发人员也是如此。如果你想成为一个更好的开发人员,你必须阅读更多的代码。就这么简单。
书籍、博客、论坛在某种程度上都是不错的,但一些功能齐全的详解的开源项目依然是无可替代的,整个应用中包含的所有资源都展现在你面前。
所有你需要做的就是坐下来、喝杯咖啡、拜读下很棒的代码。在这篇文章中,我们提供了一些来自各种类别和风格的最好的开源 Android 应用程序,以满足你所有的学习和开发需求。
在深入代码之前,你可以直接从 Play Store 中试用这些应用程序。每个应用程序附带的难度级别将帮助你判断是否应该立即深入了解它或暂时放在一边。
LeafPic
Github|Play Store| 难度: 入门级
照片和视频画廊应用是安卓系统最常见的一种应用。有没有想过他们是如何制作的? LeafPic 是最好的开源画廊应用之一,你可以试着使用它学习。
它非常简单,容易理解,而且完全适合任何初学者开发人员。同时我发现这个应用最好的一件事情就是实现了动态主题。这是许多 Android 开发人员难以正确实现的。
传送门:
https://github.com/HoraApps/LeafPic
https://play.google.com/store/apps/details?id=org.horaapps.leafpic
Simple Calendar
Github|Play Store| 难度: 入门级
一个纯粹使用 Kotlin 开发的又简单又易用的日历应用。如果你想要学习 Kotlin ,这可能是最好的入门方法之一。
这个应用的目标非常简单,就是让你亲力亲为的通过开发 Android 应用来学习一门全新的语言。还有一件更酷的事情就是你能够学习到如何开发一个自定义的 Android 桌面工具。
传送门:
https://github.com/SimpleMobileTools/Simple-Calendar
https://play.google.com/store/apps/details?id=com.simplemobiletools.calendar
Amaze FileManager
Github|Play Store| 难度: 中等
一个非常常见的安卓文件管理器,你能在几乎所有安卓设备上使用它。
尽管开发一个文件管理器应用初步看起来很简单,但是实际上想要良好地运行在所有安卓平台和设备上是很难的。
从这个应用中你可以学到很多东西,尤其是怎么适当处理 SD 卡中的文件。但是我不建议你遵循这个项目中的编码标准,因为那是没法达到的。
传送门:
https://github.com/arpitkh96/AmazeFileManager
https://play.google.com/store/apps/details?id=com.amaze.filemanager
Easy SoundRecorder
Github|Play Store| 难度: 入门级
一个简单的、容易使用的、漂亮的安卓录音应用。如果你想要学习一些关于安卓音频记录和操作方面的东西,那么这个项目最适合你了。
这个项目非常小(仅仅只有一个简单的 Activity ),同样也很容易理解。初学者可以从这个项目中学到原质化设计的基础知识。
传送门:
https://github.com/dkim0419/SoundRecorder
https://play.google.com/store/apps/details?id=com.danielkim.soundrecorder
MLManager
Github|Play Store| 难度: 入门级
MLManager 是一个简单直观的安卓设备应用管理器。如果你想要学习一些关于你设备上已安装应用的详细信息,或者是从这些应用中提取 APK 、卸载应用等,那么这个项目是你的理想选择。
这个应用中使用的编码标准很好,应该被遵守。而且遵循它的原质化设计原则,也能给你在设计干净简单的应用时提供一些好点子。
传送门:
https://github.com/javiersantos/MLManager
https://play.google.com/store/apps/details?id=com.javiersantos.mlmanager
PhotoAffix
Github|Play Store| 难度: 入门级
这是一个设计很简洁的应用,它能够水平或垂直地拼接照片。是不是听起来很简单?确实如此。
对于任何想要学习安卓开发基础的初学者来说,这是一个理想的项目。它的编码标准是一流的,而且是我心中最好的开发实践。
通过这个项目你还可以学习实现一些简单有用的自定义视图,为你打好基础,以便将来设计更复杂的视图。
传送门:
https://github.com/afollestad/photo-affix
https://play.google.com/store/apps/details?id=com.afollestad.photoaffix
MovieGuide
Github| 难度: 中等
这个应用的功能相当简单,就是列出所有流行电影的预告片和评论,但是这个项目真正有趣的地方是它的实现方式。
这个应用展示了一些非常棒的开发项目,像 MVP、Bob 的 Clean Architecture、Dagger 2 实现的依赖注入,和 RxJava 。
这个应用程序非常简单,但实现方式非常棒,绝对值得一看。
传送门:
https://github.com/esoxjem/MovieGuide
AnExplorer
Github|Play Store| 难度: 中等
另一个简单、轻量级和简约的文件管理器,专为手机和平板电脑设计。从这个项目中可以学到很多事情,比如文件处理、root权限管理、装载程序、自定义视图等。 它内部代码设计良好,你不需要花费太多时间来掌握其内部发生的事情。
传送门:
https://github.com/1hakr/AnExplorer
https://play.google.com/store/apps/details?id=dev.dworks.apps.anexplorer
Minimal ToDo
Github|Play Store| 难度: 入门级
对于一个初学者,这是一个可以用来试水的项目,它非常简单而且很酷。 通过这个项目您将有机会了解安卓开发的大部分基础。作为初学者的良好起点,这个应用程序的设计是非常得体的。 但是不要遵循它的编码标准和打包结构,因为它们不符合标准,应该避免使用。
传送门:
https://github.com/avjinder/Minimal-Todo
https://play.google.com/store/apps/details?id=com.avjindersinghsekhon.minimaltodo
Timber
Github|Play Store| 难度: 高级
Timber 是一款设计精美、功能齐全的 Android 音乐播放器。如果你想要建立自己的音乐播放器或任何音乐相关的应用程序,那么这是你需要查看的项目。
该项目规模相当大,正处于密集开发状态。对于初学者来说,掌握所有代码可能会有点困难,但对于任何中级或高级 Android 开发人员来说,这应该是非常有趣的。
传送门:
https://github.com/naman14/Timber
https://play.google.com/store/apps/details?id=naman14.timber
AnotherMonitor
Github|Play Store| 难度: 中等
如果你想了解如何监控 Android 进程、内存使用情况、CPU 使用情况以及与之相关的部分,那么这就是开始学习的完美项目。
它的规模比较小并且很容易理解,但编码规范、之后的架构和总体设计并不符合规范,不宜参考。
传送门:
https://github.com/AntonioRedondo/AnotherMonitor
https://play.google.com/store/apps/details?id=org.anothermonitor
InstaMaterial
Github| 难度: 入门级
如果您正在寻找一个项目来学习或提高您的材料设计语言(Material Design)技能,那么这个很合适。 该项目试图用材料设计语言复制 Instagram 应用程序的部分内容。在这个应用中使用了大量的材料设计语言元素、动画和过渡效果,您可以在自己的项目中学习和实现。它非常简单,易于理解,非常适合任何想要提高设计技能的 Android 开发人员。
传送门:
https://github.com/frogermcs/InstaMaterial
CoCoin
Github|Play Store| 难度: 简单
CoCoin 是一个详尽的个人财务和记账解决方案,运行在一个干净漂亮的用户界面之上。
如果你想了解如何正确管理大量的用户数据,并从这些数据中绘制漂亮的图表,制作一些很酷的自定义视图,那么这个开源仓库就是为你而设的。
传送门:
https://github.com/Nightonke/CoCoin
OmniNotes
Github|Play Store| 难度: 中等
如果您正在建立一个功能齐全的,类似 Evernote 笔记本的 Android 应用程序,那么用它开始是个正确的决定。
该项目有相当多的功能,如共享和搜索笔记、附加图像、视频、音频、草图、添加提醒功能等等。
您可以从这个项目中学到的另一件很酷的事情是将您的应用程序与 Google Now 无缝集成。
传送门:
https://github.com/federicoiosue/Omni-Notes
https://play.google.com/store/apps/details?id=it.feio.android.omninotes
Clip Stack
Github|Play Store| 难度: 入门级
Android 上一个简单、干净和优美的剪贴板管理器应用。该项目相当小,同时简单易懂。
但是,本项目中所使用的包结构、架构、命名约定和编码规范并不符合标准。它是按照一个非常简单和初学者友好的方式来构建的。
传送门:
https://github.com/heruoxin/Clip-Stack
https://play.google.com/store/apps/details?id=com.catchingnow.tinyclipboardmanager
Super CleanMaster
Github| 难度: 高级
如果你曾使用过 Android 设备,那么肯定需要从设备中清理一些垃圾数据。 Clean master 是全球最受欢迎的选择之一。
这个应用程序,顾名思义,尝试以非常干净和优雅的方式模拟 Clean Master 的大部分功能。但整体项目有点复杂,可能需要花一点时间来理解所有的代码。
传送门:
https://github.com/joyoyao/superCleanMaster
Travel Mate
Github| 难度: 中等
如果您正在寻找构建基于旅行的应用程序,并且需要大量依靠位置和地图,那么这个项目可能是最好的起点。
该应用程序的设计和代码质量尚未达到标准,但总体设计非常好,有很多东西值得一些初学者甚至中级 Android 开发人员来学习。
传送门:
https://github.com/Swati4star/Travel-Mate
KISS
Github|Play Store| 难度: 中等
一个简单、超快速、轻便的 Android 应用。可以从这个项目中学到的几个很酷很漂亮的功能。
所以如果你想制作 Android 的启动器,这可能是最好的开始。该应用程序相当小,并且该项目也是相当简单的。
传送门:
https://github.com/Neamar/KISS
https://play.google.com/store/apps/details?id=fr.neamar.kiss
Turbo Editor
Github|Play Store| 难度: 中等
传送门:
https://github.com/vmihalachi/turbo-editor
https://play.google.com/store/apps/details?id=com.maskyn.fileeditorpro
Wally
Github| 难度: 入门级
Android 上快速、简单和高效的壁纸应用程序。这个项目有很多可学习的东西,尤其是对于初学者。
在应用中使用的架构相当不错,这使得该应用很容易扩展和维护。这个应用的目标非常简单,但是为实现这个目标而采取的方法是值得借鉴的。
传送门:
https://github.com/Musenkishi/wally
Pedometer
Github| 难度: 入门级
一个简单、轻量级的计步器应用程序,它使用硬件传感器来计算步数,这对电池性能几乎没有什么影响。这是一个开始学习步数跟踪的好项目,但是编码标准和设计不够好,不建议参考。
传送门:
https://github.com/j4velin/Pedometer
推荐阅读
关于 Java 你不知道的 10 件事
构建 React.js 应用的十佳 UI 框架,都在这了!
为何 Node.js 成为了 Web 应用开发的最佳选择?
惊呆了,Servlet 3.0 的这个特性竟然99%的人都还不知道!
电子凭证 —— Java 生成 Pdf