学习的最佳方式就是阅读,对程序员来说也是如此。如果你想成为一个更优秀的程序员,你必须的代码,就是这么简单。书籍,博客,论坛在某种程度上都是有益的,但是没有什么能替代功能完善、代码详细的开源项目。整个app的所有相关资源都直接呈现在你面前。

你所要做的就是坐下来,泡上一杯茶,然后阅读一些够劲儿的代码。本文给大家介绍一些绝佳的不同种类和风格的开源项目,满足你学习和开发的所有需要。

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

LeafPic

(难度: 初级)

相册和视频app是最常见的app之一,任何一个安卓设备上都能看到。是否好奇过它们是如何实现的呢?LeafPic是你可以尝试和学习的最佳开源相册程序之一。

它非常简单,容易理解,适合任何一个初级开发者。从这个app中我发现的最好的东西就是它实现动态主题的方式。这可是许多开发者费劲千辛万苦想要做好的东西。

Simple Calendar

(难度: 初级)

一个完全用Kotlin实现的简单易用的日历app。如果你想学习Kotlin,那么它可能是最佳的入门方法之一。

这个app的目的非常简单,所以非常适合学习如何用这个全新的语言去开发app。另一个比较酷的事情是可以学到如何自定义窗口小部件(Widget)。

Amaze File Manager

(难度: 中等)

安卓设备上另一个极其常见的应用是文件管理器。

虽然构建一个文件管理器看起来很简单,但实际上要在所有安卓平台和设备上都能正常运行是非常困难的。

从这个app中你可以学到很多东西,尤其是如何正确执行SD card上的文件处理。但是我不建议你学习这个项目的编程风格,因为它是不符合标准的。

Easy Sound Recorder

(难度: 初级)

一个简单,易用,漂亮的音频录制app。如果你想学习安卓中的音频录制与控制,那么这个项目是你开始旅程的最好方法。

这个项目非常小(只有一个Activity),也很好理解。初学者可以从这个项目中学到Material Design的基础知识。

MLManager

(难度: 初级)

MLManager是一个简单的app管理器。如果你想学习如何得到安装在设备中的app的详细信息,那么这个app对你而言是个理想的选择。

这个app的编码风格非常好,值得借鉴。它还有助于你理解如何设计一个遵循Material Design规范的app。

MovieGuide

( 难度: 中等)

这个app的目的很简单,就是列出流行的电影以及它们的预告和影评。但是让这个项目有趣的东西是它实现的方式。

这个app演示了一些很酷的开发方式,比如MVP,Uncle Bob的Clean Architecture,RxJava以及Dagger 2。

这个app很简单但是实现的方式很棒,值得一看

AnExplorer

(难度: 中等)

又是一个简单的,轻量的文件管理器,为手机和平板而设计。

从这个项目中可以学到文件处理,root管理,loaders,自定义view等。做的非常好,不用花费多长时间就能了解代码里面做了什么。

end

我已经介绍了一些几乎能满足所有开发者的不同类型的开源项目,有些app对于初学者和高级开发者都是有用的。

【建议收藏】Android初级开发者怎样快速提高开发技能?这20个开源APP能帮到你相关推荐

  1. 20 多个可以提高你Android开发技能的国外优秀开源 app

    原文链接:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2017/0214/7114.html 翻译自:英文:20+ Awesome Op ...

  2. 如何快速提高开发技能

    给自己提个醒,希望自己能够做到. 1.多看   看什么,看源码,深入底层,有些东西是可以通用的,可举一反三. 2.多想 想什么,想一下为什么别人要这么写,这么写的原因是什么. 3.多做 自己多去模仿, ...

  3. 如何快速的开发一个完整的iOS直播app(美颜篇)

    1.前言 在看这篇之前,如果您还不了解直播原理,请查看这篇文章如何快速的开发一个完整的iOS直播app(原理篇) 开发一款直播app,美颜功能是很重要的,如果没有美颜功能,可能分分钟钟掉粉千万,本篇主 ...

  4. (转)【如何快速的开发一个完整的iOS直播app】(原理篇)

    原文链接:https://www.jianshu.com/p/bd42bacbe4cc [如何快速的开发一个完整的iOS直播app](原理篇) [如何快速的开发一个完整的iOS直播app](原理篇) ...

  5. 如何快速的开发一个完整的iOS直播app(原理篇)

    本文转自袁峥Seemygo的博客分享.觉得很不错.特意粘来给大家分享. 1.一个完整直播app功能(来自落影loyinglin分享) 1.聊天 私聊.聊天室.点亮.推送.黑名单等; 2.礼物 普通礼物 ...

  6. 【如何快速的开发一个完整的iOS直播app】(美颜篇)

    前言 在看这篇之前,如果您还不了解直播原理,请查看这篇文章如何快速的开发一个完整的iOS直播app(原理篇) 开发一款直播app,美颜功能是很重要的,如果没有美颜功能,可能分分钟钟掉粉千万,本篇主要讲 ...

  7. web开发人员必备的提高开发水平的20个参考手册

    提高web开发的一个有效方法是总结查看API,好的程序员往往都注重这点,因此开发出来的项目往往能够节省时间,效率高,经常在开发当中,我们可能遇到某个问题然后卡住了,这时候往往是经验不足造成的,因此高质 ...

  8. 【如何快速的开发一个简单的iOS直播app】(代码篇)

    开篇([如何快速的开发一个完整的iOS直播app](原理篇) ) 好久没写简书,因为好奇的我跑去学习直播了,今天就分享一下我的感慨. 目前为止直播还是比较热点的技术的,简书,git上有几篇阅读量和含金 ...

  9. 【如何快速的开发一个完整的iOS直播app】(采集篇)

    前言 在看这篇之前,如果您还不了解直播原理,请查看这篇文章如何快速的开发一个完整的iOS直播app(原理篇) 开发一款直播app,首先需要采集主播的视频和音频,然后传入流媒体服务器,本篇主要讲解如何采 ...

最新文章

  1. ubuntu修改主机名后无法解析主机
  2. jQuery绑定事件的三种常见方式(bind、one、【change、click、keydown、hover】)
  3. 优秀的缓存工具Memcached
  4. Spring、SpringMVC、SpringBoot、SpringCloud的关系分享
  5. Dart 6-Day
  6. 中文信息处理(六)—— 神经语言模型与词表示(word2vec)
  7. jQuery 鼠标拖拽移动窗口
  8. 编辑距离问题(Edit Distance Problem)
  9. 小白白红队初成长(5)win权限维持
  10. 计算机原理及应用教学大纲,《单片机原理及应用技术》课程教学大纲
  11. visio如何粘附或取消粘附连接线
  12. acrobat PDF删除部分_【低碳环保打印四大金刚】四款优秀的专业PDF虚拟打印机分享...
  13. 你想要的宏基因组-微生物组知识全在这(2020.10)
  14. 【今日CV 计算机视觉论文速览 第118期】Tue, 21 May 2019
  15. 算法逻辑题_二.计算法
  16. 在系统中自主实现全国行政区域结构化管理
  17. USB3.0:VL817Q7-C0的LAYOUT指南
  18. Debug以及解题思路
  19. 图解卡尔曼滤波(Kalman Filter)
  20. 转 Fedora各个历史版本官方下载地址

热门文章

  1. 关于KOT、KOL、KOC 理解
  2. Python:数据导出到Excel(使用xlwt)
  3. 崋佬论币;从哪里跌倒,就从哪里爬起来
  4. 如何通过修改注册表改变系统的默认文件夹
  5. C4D阿诺德Arnold渲染器:C4DtoA mac版(支持c4d r23)
  6. 统计字符串英文字母个数
  7. 双软认证企业税收优惠政策
  8. 106短信平台备受欢迎的原因
  9. 微信H5、公众号开发,域名重定向
  10. 卡券、直充订单列表接口(post 表单提交)