0.前言
前面有同学问我,想要做一个Android 实战项目,问我有没有好的开源项目可以参考和练习?
想想自己以前也是,当项目没有什么新任务的时候,想着自己写一个实战项目来来练练手,那拿什么项目来练手呢?我觉得最好的项目就是自己写一个音乐播放器。一个音乐播放器里几乎能包含Android 中的大部分常用技术,Android 的四大组件(Activity,Service,BroadcastRecevier,ContentProvider都有使用),自定义View、widgets组件,进程通讯、通知栏、网络相关、音频、视频相关技术等等。因此,如果你做完一个完整音乐播放器,那么对你自己的技术提升也不小。
本篇文章就介绍几个不错的开源Android音乐播放器,UI美观,代码质量不错,如果你正打算找一个项目练练手,那么不妨去看看:
1. Timber
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eJDgeo4z-1629969988368)(https://user-gold-cdn.xitu.io/2018/3/2/161e7001b89ac79a?imageView2/0/w/1280/h/960/ignore-error/1)]
Timber 是一款功能强大的开源音乐播放器,有如下功能:
- Material Design 设计
- 歌曲、专辑、歌手 浏览
- 创建、编辑播放列表
- 桌面widgets控件
- 主题切换
- 支持Android手表和车载
- 通知和歌词等等。
功能全面,界面遵循Material Design 设计规范,非常漂亮,里面也有一些炫酷的自定义控件,如果你想找一个开源项目来模仿和练习实战,这个项目是个不错的参考。
地址: https://github.com/naman14/Timber
Github star: 4.2k
2. remusic(高仿网易云音乐app)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AR1n9vFM-1629969988369)(https://user-gold-cdn.xitu.io/2018/3/2/161e7001b8a8f353?imageView2/0/w/1280/h/960/ignore-error/1)]
网易云音乐应该算是国内最好音乐APP之一,我也是网易云音乐的忠实用户,不仅app界面美观,整个社区也是做的很好,在音乐推荐方面深的人心,几乎每一首都符合口味,网上更有流传了这样一张图:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1Iuq0y7K-1629969988371)(https://user-gold-cdn.xitu.io/2018/3/2/161e7001b9e266db?imageView2/0/w/1280/h/960/ignore-error/1)]
不装个网易云音乐,连女朋友都找不到(开个玩笑…)。
而remusic是对网易乐音乐app的高仿,界面几乎一模一样, 功能很全面,项目中有使用一些优秀的开源框架:
- 图片加载框架 Fresco
- 网络框架:Retrofit+okhttp
- 换肤:MagicaSakura
还有一些自定义View ,如歌词控件、播放进度控件、暂定、播放控件等等。如果你想开发一款音乐播放器来实战进阶,remusic 是一个不错的参考开源项目。
地址:https://github.com/aa112901/remusic
Github star: 3.9k
3. ListenerMusicPlayer(高仿轻听app)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5LoTPwKE-1629969988372)(https://user-gold-cdn.xitu.io/2018/3/2/161e7001b999c430?imageView2/0/w/1280/h/960/ignore-error/1)]
轻听是腾讯出品的一款Android本地音乐播放器,颜值爆表,非常小清新,整体设计运用Material Design风格,配合优雅的场景转换和涟漪效果、便捷的手势操作,让你一见倾心,保证你看到就会喜欢上它。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iRp0Vn9S-1629969988373)(https://user-gold-cdn.xitu.io/2018/3/2/161e7001b9a95c81?imageView2/0/w/1280/h/960/ignore-error/1)]
ListenerMusicPlayer 是高仿的 听听app界面和交互,使用 Lastfm Api 与 酷狗歌词Api。项目架构采用 mvp-clean,基于 Retrofit2 + Dagger2 + Rxjava + RxBus + Glide。
里面也有一些炫酷的动画效果,是一个值得参考的开源项目。
地址:https://github.com/hefuyicoder/ListenerMusicPlayer
Github star: 1.9k
4. android-UniversalMusicPlayer
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jLDby4Qy-1629969988374)(https://user-gold-cdn.xitu.io/2018/3/2/161e7001b98cab22?imageView2/0/w/1280/h/960/ignore-error/1)]
android-UniversalMusicPlayer 是 google 的 一个音乐播放器示例App,没有炫酷库的UI,重点展示如何使用Android api 来打造一个自己的多媒体播放器。项目中不仅有手机上播放器的示例,更有多种其他平台,如平板、手表、车载、电视等等。是一个很好的学习多媒体相关api的开源项目。
地址:https://github.com/googlesamples/android-UniversalMusicPlayer
Github star:9k
5.总结
其实写一个音乐播放器还是挺锻炼人的,涉及的知识面广,对于初、中级Android 工程师适合。本篇文章介绍了4个优秀的开源音乐播放器,有兴趣的可以去看看研究一下。我相信写完后对你的帮助会很大的。如果你还有什么优秀的开源库推荐,欢迎文末留言。
更多Android干货文章,关注公众号 【Android技术杂货铺】
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-l6eGTb7r-1629969988374)(https://user-gold-cdn.xitu.io/2017/8/8/b755f14c284373883263adcccc3ddf64?imageView2/0/w/1280/h/960/ignore-error/1)]
最后
按照国际惯例,给大家分享一套十分好用的Android进阶资料:《全网最全Android开发笔记》。
整个笔记一共8大模块、729个知识点,3382页,66万字,可以说覆盖了当下Android开发最前沿的技术点,和阿里、腾讯、字节等等大厂面试看重的技术。
因为所包含的内容足够多,所以,这份笔记不仅仅可以用来当学习资料,还可以当工具书用。
如果你需要了解某个知识点,不管是Shift+F 搜索,还是按目录进行检索,都能用最快的速度找到你要的内容。
相对于我们平时看的碎片化内容,这份笔记的知识点更系统化,更容易理解和记忆,是严格按照整个知识体系编排的。
(一)架构师必备Java基础
1、深入理解Java泛型
2、注解深入浅出
3、并发编程
4、数据传输与序列化
5、Java虚拟机原理
6、高效IO
……
(二)设计思想解读开源框架
1、热修复设计
2、插件化框架设计
3、组件化框架设计
4、图片加载框架
5、网络访问框架设计
6、RXJava响应式编程框架设计
……
(三)360°全方位性能优化
1、设计思想与代码质量优化
2、程序性能优化
- 启动速度与执行效率优化
- 布局检测与优化
- 内存优化
- 耗电优化
- 网络传输与数据储存优化
- APK大小优化
3、开发效率优化
- 分布式版本控制系统Git
- 自动化构建系统Gradle
……
(四)Android框架体系架构
1、高级UI晋升
2、Android内核组件
3、大型项目必备IPC
4、数据持久与序列化
5、Framework内核解析
……
(五)NDK模块开发
1、NDK开发之C/C++入门
2、JNI模块开发
3、Linux编程
4、底层图片处理
5、音视频开发
6、机器学习
……
(六)Flutter学习进阶
1、Flutter跨平台开发概述
2、Windows中Flutter开发环境搭建
3、编写你的第一个Flutter APP
4、Flutter Dart语言系统入门
……
(七)微信小程序开发
1、小程序概述及入门
2、小程序UI开发
3、API操作
4、购物商场项目实战
……
(八)kotlin从入门到精通
1、准备开始
2、基础
3、类和对象
4、函数和lambda表达式
5、其他
……
好啦,这份资料就给大家介绍到这了,有需要详细文档的小伙伴,可以微信扫下方二维码领取哈~
|