【开源推荐】进阶实战,从一款音乐播放器开始

10,513 阅读3分钟

0.前言

前面有同学问我,想要做一个Android 实战项目,问我有没有好的开源项目可以参考和练习?

想想自己以前也是,当项目没有什么新任务的时候,想着自己写一个实战项目来来练练手,那拿什么项目来练手呢?我觉得最好的项目就是自己写一个音乐播放器。一个音乐播放器里几乎能包含Android 中的大部分常用技术,Android 的四大组件(Activity,Service,BroadcastRecevier,ContentProvider都有使用),自定义View、widgets组件,进程通讯、通知栏、网络相关、音频、视频相关技术等等。因此,如果你做完一个完整音乐播放器,那么对你自己的技术提升也不小。

本篇文章就介绍几个不错的开源Android音乐播放器,UI美观,代码质量不错,如果你正打算找一个项目练练手,那么不妨去看看:

1. Timber

Timber 是一款功能强大的开源音乐播放器,有如下功能:

  • Material Design 设计
  • 歌曲、专辑、歌手 浏览
  • 创建、编辑播放列表
  • 桌面widgets控件
  • 主题切换
  • 支持Android手表和车载
  • 通知和歌词等等。

功能全面,界面遵循Material Design 设计规范,非常漂亮,里面也有一些炫酷的自定义控件,如果你想找一个开源项目来模仿和练习实战,这个项目是个不错的参考。

地址: https://github.com/naman14/Timber

Github star: 4.2k

2. remusic(高仿网易云音乐app)

网易云音乐应该算是国内最好音乐APP之一,我也是网易云音乐的忠实用户,不仅app界面美观,整个社区也是做的很好,在音乐推荐方面深的人心,几乎每一首都符合口味,网上更有流传了这样一张图:

不装个网易云音乐,连女朋友都找不到(开个玩笑...)。

remusic是对网易乐音乐app的高仿,界面几乎一模一样, 功能很全面,项目中有使用一些优秀的开源框架:

  • 图片加载框架 Fresco
  • 网络框架:Retrofit+okhttp
  • 换肤:MagicaSakura

还有一些自定义View ,如歌词控件、播放进度控件、暂定、播放控件等等。如果你想开发一款音乐播放器来实战进阶,remusic 是一个不错的参考开源项目。

地址:https://github.com/aa112901/remusic

Github star: 3.9k

3. ListenerMusicPlayer(高仿轻听app)

轻听是腾讯出品的一款Android本地音乐播放器,颜值爆表,非常小清新,整体设计运用Material Design风格,配合优雅的场景转换和涟漪效果、便捷的手势操作,让你一见倾心,保证你看到就会喜欢上它。

ListenerMusicPlayer 是高仿的 听听app界面和交互,使用 Lastfm Api 与 酷狗歌词Api。项目架构采用 mvp-clean,基于 Retrofit2 + Dagger2 + Rxjava + RxBus + Glide。

里面也有一些炫酷的动画效果,是一个值得参考的开源项目。

地址:https://github.com/hefuyicoder/ListenerMusicPlayer

Github star: 1.9k

4. android-UniversalMusicPlayer

android-UniversalMusicPlayer 是 google 的 一个音乐播放器示例App,没有炫酷库的UI,重点展示如何使用Android api 来打造一个自己的多媒体播放器。项目中不仅有手机上播放器的示例,更有多种其他平台,如平板、手表、车载、电视等等。是一个很好的学习多媒体相关api的开源项目。

地址:https://github.com/googlesamples/android-UniversalMusicPlayer

Github star:9k

5.总结

其实写一个音乐播放器还是挺锻炼人的,涉及的知识面广,对于初、中级Android 工程师适合。本篇文章介绍了4个优秀的开源音乐播放器,有兴趣的可以去看看研究一下。我相信写完后对你的帮助会很大的。如果你还有什么优秀的开源库推荐,欢迎文末留言。

更多Android干货文章,关注公众号 【Android技术杂货铺】