开源项目收集

本文精选了多个高质量的Android开源项目,覆盖了从初级到高级的不同难度级别,涉及的技术包括MVP架构、RxJava、Retrofit等,适合不同阶段的学习者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



1 diycode客户端


Diycode 社区客户端,相信很多人应该都知道这个社区,偶尔会有一些质量很高文章、讨论等。


他们不但开源了客户端,而且提供了一套SDK,如果你想要自己动手开发一个练手项目,是个不错的选择。

此外,为了便于理解项目源码,他们在ReadMe中提供了几篇技术文章:


  • 01 - 整体架构

  • 02 - 缓存 WebView 中的图片

  • 03 - 点击网页图片查看大图

  • 04 - API 的封装哲学

  • 05 - 使用抽象类节省 1000 行代码


这些文章不仅能够方便大家理解,也可以用来积累知识~


https://github.com/GcsSloop/diycode


2 咕咚翻译app



一个实现『划词翻译』功能的 Android 应用 ,可能是目前 Android 市场上翻译效率最高的一款应用。


如果你经常在手机上阅读文章,偶尔遇到一些英文单词需要翻译,你只要在当前页面“划词”即可实现翻译,该app非常实用,当然里面也包含一些技术值得你花时间去学习:


1、全程使用 Dagger2 对项目进行类依赖管理

2、项目使用标准的 MVP 架构,关于 MVP 的一篇博客

3、实现对粘贴板的监听以及访问

4、无需权限显示悬浮窗(6.0悬浮窗权限适配)

5、使用 RxJava 探索函数式编程

6、使用 Retrofit2 进行网络请求

7、开机自启动

8、Android 6.0 自定义文本操作栏


https://github.com/maoruibin/TranslateApp


3 开眼视频学习项目



做的非常精致,界面非常优雅,功能也处于相对完毕的状态。最重要的是是使用kotlin编写的,如果你正在或者想要学习kotlin,通过项目去学习要比通过文字来学习快得多。


同时在Readme页面,作者也对kotlin的特性有一些初步的介绍。如果你现在时间较为充足,不妨学习下kotlin~


程序仅供学习交流, 不可用于任何商业用途

https://github.com/LRH1993/Eyepetizer-in-Kotlin


4 仿今日头条学习项目



你可以认为这是一个遵循Material Design风格的第三方的头条客户端,功能已经相当完备,, 聚合了新闻/段子/图片/视频/头条号内容, 没有广告, 仅仅只有存粹的阅读, 不断完善中, 采用 MVP + RxJava + Retrofit 架构的项目~


包含技术:


  • 基本遵循 Material Design 设计风格

  • 抓包获取今日头条API

  • 使用 Google 官方 MVP 架构

  • DrawerLayout + NavigationView + BottomNavigationView 搭配使用

  • RxBus 代替 EventBus 进行组件之间通讯

  • ViewPager 搭配 Fragment 懒加载

  • SwipeRefreshLayout 搭配 RecyclerView 下拉刷新上拉加载

  • 自定义 BottomNavigationBehavior 实现上滑隐藏下滑显示

  • RxJava + Retrofit2 + OkHttp3 做网络请求

  • OkHttp3 对网络返回内容做缓存, 还有日志、超时重连、头部消息的配置

  • V层基类的构建, 包括 BaseActivity 和 BaseFragment , 对外提供了相同的接口

  • 使用原生的夜间模式

  • 解决侧滑返回与 View 冲突问题

  • 内置 3 款 Logo, 随意切换

  • 使用 CoordinatorLayout 、 AppBarLayout 、 CollapsingToolbarLayout 、 BottomSheetDialog 等等新控件

  • 使用 7.0 新工具 DiffUtil , 不再无脑 notifyDataSetChanged

  • 使用 ItemTouchHelper 实现今日头条的频道排序、频道移动, 参考 ItemTouchHelperDemo

  • 使用 RxBinding 优雅实现搜索请求

  • 使用 RxLifecycle 绑定 RxJava 生命周期

  • 使用 Travis Cl 持续集成


更加重要的是,作者双11还在更新代码,是个相当不错的学习项目~~


程序仅供学习交流, 不可用于任何商业用途

https://github.com/iMeiji/Toutiao


5 仿今日头条学习项目


高仿程度令人咋舌~光是UI和一些特效都够学习相当一段时间了。


涉及到的一些第三方如下:


  • 弹幕三方库:DanMu

  • 轮播图:BGABanner

  • 刷新加载控件XRefreshView

  • 导航栏控件 FlyCoTabLayout

  • 弹幕与房间加密参考项目:斗鱼项目

  • 直播视频播放器 :vitamio播放器 (备注:直播视频格式:HLS,RTMP)


程序仅供学习交流, 不可用于任何商业用途

https://github.com/TeamCodeForGit/DouYu


LeafPic

难度: 初级.
Open Source LeafPic

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

Simple Calendar

难度: 初级.

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

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

Amaze File Manager

难度: 中级.
Open Source Amaze File Manager

一个文件管理器.

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

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

Easy Sound Recorder

难度: 初级.
Open Source Easy Sound Recoder

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

MLManager

难度: 初级.

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

PhotoAffix

难度: 初级.

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

可以学习创建自定义View.

MovieGuide

难度: 中级.
Open Source MovieGuide

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

AnExplorer

难度: 中级.

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

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

Minimal ToDo

难度: 初级.

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

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

Timber

难度: 高级.
Open Source Timber

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

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

AnotherMonitor

难度: 中级.
Open Source AnotherMonitor

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

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

InstaMaterial

难度: 初级.

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

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

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

CoCoin

难度: 简单.
Open Source CoCoin

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

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

OmniNotes

难度: 中级.

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

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

Clip Stack

难度: 初级.

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

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

Super Clean Master

难度: 高级.
Open Source Super Clean Master

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

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

Travel Mate

难度: 中级.

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

KISS

难度: 中级.
Open Source KISS

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

项目很小很简单.

Turbo Editor

难度: 中级.
Open Source Turbo Editor

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

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

Wally

难度: 初级.

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

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

Pedometer

难度: 初级.
Open Source Pedometer

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

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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值