20 多个国外优秀Android开源 App ,值得收藏和学习

编辑推荐: 稀土掘金,这是一个针对技术开发者的一个应用,你可以在掘金上获取最新最优质的技术干货,不仅仅是Android知识、前端、后端以至于产品和设计都有涉猎,想成为全栈工程师的朋友不要错过!

英文:20+ Awesome Open-Source Android Apps To Boost Your Development Skills 

1487132589140068.jpeg

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

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

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

LeafPic

(Github | Play Store | 难度: 初级)

1-OqNAz8maY-yJ4WQenYbKFw.png

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

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

Simple Calendar

(Github | Play Store | 难度: 初级)

1-EcxhFWiv04IoCRs2E1nNeQ.png

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

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

Amaze File Manager

(Github | Play Store | 难度: 中等)

1-GqUWWQNIllkvZDjXwqiNdw.jpeg

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

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

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

Easy Sound Recorder

(Github | Play Store | 难度: 初级)

1-y082WCtNfC5yZIisuVR1Bw.png

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

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

MLManager

(Github | Play Store | 难度: 初级)

1-E6-2Sazewt9dLfnJ89kJgg.png

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

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

PhotoAffix

(Github | Play Store| 难度: 初级)

1-ma8W3Np5yD79xIiK6g0FuA.png

一个非常简单,设计简约的app,用来垂直或者水平拼接图片。听起来很简单是吧?

对于想学习安卓开发基础知识的新手这是一个理想的资源。编码风格是顶级的。

你还会学会制作简单但实用的自定义view,帮助你打好基础,以便今后创建一些真正复杂的视图。

MovieGuide

(Github | 难度: 中等)

1-V3dDf3lfypi6CLzo4vV7dg.png

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

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

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

AnExplorer

(Github | | Play Store | 难度: 中等)

1-DvqeWqjjUURK6UgfZXeIpg.jpeg

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

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

Minimal ToDo

(Github | Play Store | 难度: 初级)

1-3oQ72dw_w1d3Pmi5qKvNRQ.png

如果你是一个新手,这是一个简单但很酷的项目。你将有机会学到安卓开发的绝大多数基础知识。

这个app设计得很好,作为初学者的起点再合适不过了。但是不要借鉴它的代码风和包结构的设计,因为它们不符合标准并且应该尽量避免。

Timber

(Github | Play Store | 难度: 高级)

1-drdx98UFZCp19yOIf1b6-w (1).png

Timber是一个设计漂亮,功能完善的音乐播放器。如果你曾想过开发自己的音乐app或者跟音乐相关的app,那么这个项目可以一看。

这个项目很大,而且还在积极的开发中。对于初学者可能有点困难,不过对于中级开发者来说应该是非常有意思的。

AnotherMonitor

(Github | Play Store | 难度: 中等)

1-tqOQEVzmbx-ADgfZk5r7_Q.png

如果你想学习安卓进程,内存,CPU等系统管理方面的知识,这是一个不错的项目。

项目很简单,也很好理解,不过其代码风格,架构以及整体设计不值得模仿。

InstaMaterial

(Github | 难度: 初级)

如果你在寻找一个学习与提高Material Design技术的项目,那么这个项目就是为你量身定做的。该项目用 Material Design重构了Instagram app的部分UI。

这个app中使用了大量的元素,动画以及过渡动画,这些都可以用在自己的项目中。

它非常简单,也很好理解,非常适合那些想提高自己设计能力的安卓开发者。

CoCoin

(Github | 难度: 简单)

1-xpieQSXdV0WtHDbgE11Okg.png

CoCoin是一个功能完善的个人财物与机长工具,UI简单干净。

如果你想学习如何桥党的管理较多的用户数据,为这些数据绘制漂亮的统计图,制作漂亮的自定义视图,那么这个开源项目就非常适合你。

OmniNotes

(Github | Play Store | 难度: 中等)

1-fNK4I9LSGICt5McBii-bOw.png

如果你想找一个Evernote那样的,功能全面的笔记类应用,那么这个项目就正好适合你。

这个项目非常大,有许多功能比如分享,搜索,附加图片,视频,音频,在笔记中涂鸦,添加提醒等。

另一个非常酷的事情是你可以从这个项目中学到如何在app中无缝集成Google Now。

Clip Stack

(Github | Play Store | 难度: 初级)

1-Uy73wasiXgL_UWFSyFkmSw.png

一个简单,干净,漂亮的剪切版管理app。这个项目非常小巧,简单,也很容易看懂。

但是项目的结构,命名规范以及编码风格都不是很标准。它完全是按照对初学者友好的方式来构建的。

Super Clean Master

(Github | 难度: 高级)

1-yMx8JhJZjW-MeldFz9wQhw.jpeg

如果你用过一个安卓设备,你一定曾有过清理设备中垃圾数据的需求。Clean Master就是这类应用中最受欢迎的应用之一。

这个app,就如其名称那样,试图用干净优雅的方式模仿Clean Master的大多数功能。但是整个项目比较复杂,可能会花一些时间才能理解。

Travel Mate

(Github | 难度: 中等)

1-geYkMkQaXFGkCDqw0wVi6A.png

如果你要找一个旅途类,对地图和位置依赖很强的应用,那么这个项目可能是最佳的选择。

app的设计和代码质量都算不上很规范,但是整个app还是非常好,对初学者而言(甚至中级开发者)可以学到很多东西。

KISS

(Github | Play Store | 难度: 中等)

1-ng7pFWboId8iIKKc_MSVyw.png

一个简单,快速,轻量的launcher应用。项目中可以学到几个非常酷的功能。

所以如果你想为安卓制作一个launcher,这个项目就很适合。app很小,项目也很容易上手。

Turbo Editor

(Github | Play Store | 难度: 中等)

1-RL6YmiIqaIY8hCTW979dIw.png

一个简单但是强大的文字编辑应用。你还可以用这个app来写代码,支持不同语言的语法高亮。

绝大多数应用在打开大型文本文件的时候都会失败或者崩溃,这个app却很好的处理了这个问题。从这个项目中你有机会学到如何实现一个健壮的文本(或者代码)编辑app。

Wally

(Github| 难度: 初级)

1-r46mObRkf3Izxqmw6uFBZQ.png

一个快速,简单,高效的wallpaper app。从这个项目中你可以学到很多东西,尤其是对初学者而言。

该app的架构非常不错,使得很容易扩展和修改。app的目的很简单,但是其实现的方法非常值得赞赏。

Pedometer

(Github | 难度: 初级)

1-H_gdXtXJDTTOIfnreNFGiQ.png

一个简单,轻量的计步器app,使用硬件传感器计算步数,而且对电池的消耗非常小。

对学习计步功能而言是不错的项目,但是编码规范和设计还不够好。

end

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

希望你觉得这些开源项目都是有用的。本文最初发表在TechBeacon

如果支持的话点击下方的

  • 10
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、Android团队提供的示例项目   如果不是从学习Android SDK中提供的那些样例代码开始,可能没有更好的方法来掌握在Android这个框架上开发。由Android的核心开发团队提供了15个优秀的示例项目,包含了游戏、图像处理、时间显示、开始菜单快捷方式等。   2、 Remote Droid   RemoteDroid是一个Android应用,能够让用户使用自己的无线网络使用无线键盘、触摸屏操作手机。这个项目为开发者提供了如网络连接、触摸屏手指运动等很好的样例。   3、 TorProxy和Shadow   TorProxy应用实现了Android手机无线电电传通讯(TOR),和Shadow应用一起使用,可以使用手机匿名上网。从该项目源代码中,可以掌握socket连接、管理cookie等方法。      4、 Android SMSPopup   SMSPopup可以截获短信内容显示在一个泡泡形状的窗口中。从这个项目中可以掌握到如何使用内置的短信SMS接口。   5、 Standup Timer   Standup Timer应用用于控制站立会议时间,类似秒表倒计时,可以提醒每个人的讲话时间已到,从而保证每个与会者使用时间一样。从该项目的代码中,可以学会如何使用时间函数。另外,这个项目的代码是采用视图view、模型model严格分离的设计思路。      6、 Foursquare   是Foursquare.com的一个客户端应用,该应用主要分为两个模块:API(com.joelapenna.foursquare)和界面前端 (com.joelapenna.foursquared)两部分。从该项目代码中,可以学会如何同步、多线程、HTTP连接等技术。   7、 Pedometer   Pedometer应用用于记录你每天走路步数的。尽管记录不一定精准,但是从这个项目中,可以学习几个不同的技术:加速器交互、语音更新、后台运行服务等。   8、 OpenSudoku-android   OpenSudoku是一个简单的九宫格数独游戏。从代码中可以学习到如何在视图中显示表格数据,以及如何和一个网站交互等技术。   9、 ConnectBot   ConnectBot是Android平台的一个客户端安全壳应用。从该项目代码中,可以学习到很多Android安全方面的内容,这些是你在开发应用时经常需要考虑的安全问题。   10、 WordPress的Android应用   当然在最后不能不提WordPress的Android应用了,这是WordPress官方开发团队提供的一个项目。从代码中可以学习到XMLRPC调用(当然还有更多的优秀内容)。
以下是十个经典的Android开源APP项目: 1. Telegram:一个流行的即时通讯应用程序,可以发送文本、图片、视频和音频。它是使用Java和Kotlin编写的,代码可以在GitHub上找到。 2. VLC for Android:一个流行的媒体播放器,它可以播放几乎任何格式的视频和音频文件。它是使用Java编写的,代码可以在GitHub上找到。 3. F-Droid:一个流行的应用商店,其中包含许多开源应用程序。它是使用Java编写的,代码可以在GitHub上找到。 4. Materialistic:一个流行的Hacker News客户端,它使用Material Design风格。它是使用Java编写的,代码可以在GitHub上找到。 5. Amaze File Manager:一个流行的文件管理器应用程序,它具有漂亮的Material Design界面。它是使用Java编写的,代码可以在GitHub上找到。 6. LibreOffice Viewer:一个流行的文档查看器,它可以查看各种类型的文档,如ODF、PDF和Microsoft Office文档。它是使用Java编写的,代码可以在GitHub上找到。 7. OsmAnd:一个流行的离线地图和导航应用程序,它可以在没有互联网连接的情况下提供导航。它是使用Java编写的,代码可以在GitHub上找到。 8. K-9 Mail:一个流行的电子邮件客户端,它可以处理多个电子邮件账户。它是使用Java编写的,代码可以在GitHub上找到。 9. Simple Gallery:一个流行的图片和视频查看器,它可以浏览本地存储的图像和视频。它是使用Java编写的,代码可以在GitHub上找到。 10. NewPipe:一个流行的YouTube客户端,它可以在没有广告和跟踪的情况下观看YouTube视频。它是使用Java编写的,代码可以在GitHub上找到。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值