20+个很棒的Android开源项目

本文摘自文章: 20+ Awesome Open-Source Android Apps To Boost Your Development Skills.

考虑到原文在墙外, 故分享在此, 希望让更多开发者看到.

LeafPic

难度: 初级.

图片和视频的Gallery app.
实现了动态主题.

Simple Calendar

难度: 初级.

一个简单好用的Calendar应用, 完全用Kotlin实现.

另外可以从这个项目学习一下自定义的桌面widgets.

Amaze File Manager

难度: 中级.

一个文件管理器.

可以学习SD卡上的文件操作.

但不建议学习这个项目中的编码标准.

Easy Sound Recorder

难度: 初级.

一个简单的录音程序, 遵循Material Design.

MLManager

难度: 初级.

一个App管理器, 可以学习如何得到所有安装应用的详细信息, 提取APK, 卸载程序等.

PhotoAffix

难度: 初级.

一个简单的应用, 可以水平或竖直地拼接照片.

可以学习创建自定义View.

MovieGuide

难度: 中级.

一个流行电影浏览应用.
使用了: MVP, Clean Architecture, RxJava, Dagger2.

AnExplorer

难度: 中级.

一个轻量级的文件管理器, 为手机和平板设计.

可以学到很多文件处理, 权限管理, loaders, 自定义View等相关的东西.

Minimal ToDo

难度: 初级.

一个Material Design的To-Do应用.
可以学到一些Android开发的基本知识, 适合初学者学习.

但不要学习里面的包结构和代码规范, 这些不太标准.

Timber

难度: 高级.

一个很漂亮的, 功能完善的音乐播放器.

这个项目很大, 所以对初学者来说想要一下把握全部的内容可能会有点困难, 但是对中高级开发者来说看一看应该会觉得挺有意思.

AnotherMonitor

难度: 中级.

如果你想要学监控Android进程, 内存占用, CPU使用以及与这些相关的东西, 这个项目很适合.

这个项目很小也很好理解, 但是编码和架构设计不是很好, 不应该遵循.

InstaMaterial

难度: 初级.

这是一个学习Material Design的好项目. 这个项目复制了一些Instagram的功能, 结合了Material Design来实现.

这里有很多Material Design的元素, 动画和转场.

项目简单易懂, 适合各个阶段的学习者.

CoCoin

难度: 简单.

一个详尽的个人财务记账应用, 界面干净漂亮.

如果你想学习如何处理大量用户数据, 根据这些数据绘制各类图表, 写一些很酷的自定义View, 那么这个开源项目很适合你.

OmniNotes

难度: 中级.

如果你想建一个跟Evernote类似的功能强大的笔记应用, 那么这个项目可以看看.

这个项目很大, 有很多功能比如分享和搜索笔记, 上传图片, 视频, 音频, 在笔记中绘制草图, 添加提醒等.

Clip Stack

难度: 初级.

一个简单的剪贴板管理器.
项目很小, 简单易懂.

但是包结构和代码架构, 命名及代码规范不推荐学习. 并且这个项目已经不再维护了.

Super Clean Master

难度: 高级.

一键清理开源版, 包括内存加速, 缓存清理, 自启管理, 软件管理等.

代码很优雅, 但是项目有一点复杂, 如果你想弄明白所有的事情, 得多花一点时间.

Travel Mate

难度: 中级.

一个旅游导览类应用, 依赖于位置和地图.
代码质量尚未达到标准, 但是对初级和中级开发者来说还是有很多值得学习的地方.

KISS

难度: 中级.

一个简单快速轻量级的launcher应用. 可以从中学习一些比较酷的features.

项目很小很简单.

Turbo Editor

难度: 中级.

一个简单但强大的文字编辑应用. 你也可以使用这个编辑器来写代码, 对不同的语言支持代码高亮.

从这个项目你可以学到如何做一个稳定健壮的文字(或代码)编辑器.

Wally

难度: 初级.

一个简单快速的壁纸应用.
对于初学者来说可以学到很多东西.

这个应用的架构很好, 使得这个应用易于维护和扩展. 这个应用的目的虽然简单, 但是实现目的的方法很好.

Pedometer

难度: 初级.

一个简单轻量级的计步器, 使用硬件传感器来计算步数, 同时考虑到了电量使用问题, 最小化电量消耗.

对于学习计步器实现来说是一个好项目, 但是代码标准和设计架构可能不够好.

公众号

最后, 欢迎关注微信公众号: 圣骑士Wind

20+个很棒的Android开源项目的更多相关文章

  1. Android开源项目分类汇总

    目前包括: Android开源项目第一篇——个性化控件(View)篇   包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView. ...

  2. 59.Android开源项目及库 (转)

    转载 : https://github.com/Tim9Liu9/TimLiu-Android?hmsr=toutiao.io&utm_medium=toutiao.io&utm_so ...

  3. GitHub上史上最全的Android开源项目分类汇总 (转)

    GitHub上史上最全的Android开源项目分类汇总 标签: github android 开源 | 发表时间:2014-11-23 23:00 | 作者:u013149325 分享到: 出处:ht ...

  4. 【Android】Android开源项目分类汇总

    第一部分 个性化控件(View) 主要介绍那些不错个性化的View,包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.Pro ...

  5. Android开源项目汇总【转】

    主要介绍那些不错个性化的View,包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.ProgressBar.TextView ...

  6. GitHub上史上最全的Android开源项目分类汇总

    今天在看博客的时候,无意中发现了 @Trinea 在GitHub上的一个项目 Android开源项目分类汇总 ,由于类容太多了,我没有一个个完整地看完,但是里面介绍的开源项目都非常有参考价值,包括很炫 ...

  7. 那些年不错的Android开源项目

    那些年不错的Android开源项目 转载自 eoe 那些年不错的Android开源项目-个性化控件篇 第一部分 个性化控件(View) 主要介绍那些不错个性化的View,包括ListView.Acti ...

  8. github上有android开源项目

    下面是一些比较好的开源项目,总共分为5大类,也许对某一些人有用,有些项目也许将来某一天对自己也有用,所以整理到此,希望对大家有帮助.首先声明非原创,这篇blog的目的是分享给那些可能需要的人. htt ...

  9. Android 开源项目分类汇总(转)

    Android 开源项目分类汇总(转) ## 第一部分 个性化控件(View)主要介绍那些不错个性化的 View,包括 ListView.ActionBar.Menu.ViewPager.Galler ...

随机推荐

  1. angular : direative : scope | 指令scope和transclude的关系

    今天记入的是指令的scope和transclude关系 a 和 b 都是指令 <div a> <div b></div> </div> a transc ...

  2. VUE2.0实现购物车和地址选配功能学习第二节

    第二节 创建VUE实例 购物车项目计划: 1.创建一个vue实例 2.通过v-for指令渲染产品数据 3.使用filter对金额和图片进行格式化 4.使用v-on实现产品金额动态计算 5.综合演示 ① ...

  3. [bzoj1500][NOI2005]维修数列——splay

    题目 题解 这道题可以说是数列问题的大BOSS,也算是这一周来学习splay等数据结构的一个总结. 我们一个一个地看这些操作. 对于操作1,我们首先建一棵子树,直接接上原树即可. 对于操作2,我们找到 ...

  4. myeclipse2015 安装配置

    本人提供<myeclipse2015 安装过程及破解资源> 链接:http://pan.baidu.com/s/1o79wwMQ 密码:crnp 安装步骤 1.安装jdk: http:// ...

  5. ARZhu的数论初步

    数论 2017年3月4日02:11:35 gcd 1. 原理: gcd( a, b ) = gcd( b, a - b ) -> gcd( a, b ) = gcd( b, b % a ) 2. ...

  6. postman传json串,以及postman官方文档

    最近在调试接口遇到一个问题.就是post接口传的body是一个json串. 刚开始还不知道,百度了一下才知道,其实很简单,就是在raw里面选择json.我的天如此简单的内容,而且支持html. 于是读 ...

  7. Python 3中字符串可以被改变吗?

    Python 3中字符串可以被改变吗? 字符串有改变这个方法的:replace,比如: a = 'lkjhgfdsa' a.replace(') '123kjhgfdsa' #返回结果 从上面这个例子 ...

  8. TP框架 基础1

    php框架 一.真实项目开发步骤: 多人同时开发项目,协作开发项目.分工合理.效率有提高(代码风格不一样.分工不好) 测试阶段 上线运行 对项目进行维护.修改.升级(单个人维护项目,十分困难,代码风格 ...

  9. JVM client模式和Server模式的区别

    在“你知道自己执行的是哪个jre吗?”一文中我们知道安装JDK时会安装了两套JRE:专用和公用,殊不知这两套JRE还有秘密. 专用和公用JRE的不同 不同点在于专用JRE的bin里不仅有“client ...

  10. 深入理解ajax系列第四篇——FormData

    前面的话 现代Web应用中频繁使用的一项功能就是表单数据的序列化,XMLHttpRequest 2级为此定义了FormData类型.FormData为序列化表单以及创建与表单格式相同的数据提供了便利. ...