最近Google刚开源了一款播放器叫android-UniversalMusicPlayer,除了设计精美、交互合理、功能简洁之外,最重要的是跨平台,不管你是手机、平板还是Android Wear设备都可以完美运行,真是可以算作是一款Android平台上的教科书级播放器。

另外我大概粗略的看了下代码,代码量非常少,代码里没有注释,因为项目简单,逻辑清晰,我认为即使没有注释依然可以清晰的看懂。大家可以拿这个项目练手,非常适合有点经验的初、中级以上Android开发人员学习。

值得一提的是,我在这之前在博客上发表了一篇《Android模块化编程之引用本地的aar》,而Google的这个项目就采用了这种方式,不得不为自己超前的思想点赞!

最后大家一起来一睹这个项目的一些运行截图吧:

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

最后,如果觉得我的分享一直以来对您有点帮助,不妨分享到您的朋友圈,推荐身边的相关人士关注此账号,这将是我持续分享的动力!

点击“阅读原文”直接查看《Android模块化编程之引用本地的aar》这篇博客。

Google出品,必属精品相关推荐

  1. 全世界最详细的图形化VMware中linux环境下oracle安装(三)【weber出品必属精品】...

    数据库软件和数据库都建好了,基本上可以说完成90%的工作,但是美中不足的就是企业管理器还没有安装好,现在我们就开始安装企业管理器吧. 安装之前我们先将补丁给补上.补丁我们也是采用禁默安装.补丁:p83 ...

  2. 解决linux下oracle进入sqlplus环境中后退键显示^H、上下键无效与ctrl+l无法清屏等问题【weber出品必属精品】...

    习惯linux中上下键回退历史输入的人们肯定也希望sqlplus中也能实现相同的效果,可是不幸的是,sqlplus中不提供诸多方便的快捷键,这个时候我们就需要另外安装一个插件来实现这个想法. 这个插件 ...

  3. 使用DML语句【weber出品必属精品】

    DML语句包含以下语法: INSERT:往一个表中增加新行 DELETE:从一个表中删除掉现有的行 UPDATE:更改一个表中现有的行 INSERT语句 语法:INSERT INTO TABLE(CO ...

  4. 控制用户的访问之权限、角色【weber出品必属精品】

    权限的作用 限制用户对数据的访问 权限的分类 1. 系统权限:能够存取数据库的权限 2. 对象权限:操作数据库对象的内容 系统权限   1.1 如何创建用户: SQL> create user ...

  5. 【阿朱出品 必属精品】你也说医院,我也说医院

    怎么说俺也是在卫生部官办国企做了4年啊,那就说道说道.由于中国医疗制度牵扯全民利益所以变革非常谨慎微小,中国医生圈子大多属于几个院系派系嫡系自我近支繁衍,体制内有事业单位编制问题,体制外有莆田系金钱交 ...

  6. ChatGPT团队出品,必属精品—Bito插件完全指北

    Bito是一个IntelliJ IDEA插件,由ChatGPT团队开发,用于提高开发效率和生产力. 首先,安装Bito插件非常简单.在IntelliJ IDEA编辑器中打开"Plugins& ...

  7. 剪映,最简单的PC端视频处理工具,大厂出品必属精品~

    相信在座的小伙伴都用过抖音app,看的多了难免也有想要发视频的冲动. 这时我们就会想到诸如Ae.Pr之类的视频制作工具,但他们都有一定的上手难度-- 好在抖音霸霸很早就推出了免费的官方全能剪辑工具,也 ...

  8. 关于电信重组(华为中兴观察员出品,必属精品)

    关于电信重组 论坛里很多人对国产设备商的未来在我看来过于乐观,电信重组最简单的结果就是运营商减少,这使得第四名第五名直接kill掉了,重组前这些运营商处于弱势,对技术的前沿性要求不高,从而在外国设备商 ...

  9. 吾爱出品,必属精品~

    前言 吾爱破解论坛目前是一个非常老牌的软件解密与技术交流地,从名字可以看出论坛内有着非常丰富的PJ软件资源,但随着最近的几次整改,论坛实质也逐渐与破解无缘.这也是没有办法的事,作为一个日访问量10万+ ...

  10. Python 编程笔记(本人出品,必属精品)

    文章目录 Part.I 准备工作 Chap.I 下载安装 Chap.II 实现快捷键清屏 Chap.III 概念汇编 & 注意事项 Part.II 基础知识 Chap.I 快应用 Chap.I ...

最新文章

  1. matlab中线性变压器,用MATLAB优化计算差动变压器的线性范围
  2. k-Means算法(Machine Learning in Action)基于python3.6
  3. MySQL调优(二):数据类型和schema优化,MySQL8.0取消查询缓存的原因
  4. .NET高级调试 | 通过JIT拦截无侵入调试 C# Emit 生成的动态代码
  5. 基于JAVA+SpringMVC+Mybatis+MYSQL的药方中医管理系统
  6. php.ini 302,302使用nginx和WordPress重定向循环
  7. 【python】面向对象的封装、继承、多态的练习题
  8. 美国太空部队加入美国情报系统,以确保太空的安全
  9. apache的开源项目-模板引擎(Velocity)(转)
  10. Lecture 7:策略梯度
  11. java 阿拉伯数字日期转换为中文大写日期方法_日期转换为中文大写数字
  12. 三星S5P6818工控底板 (ARM Cortex-A53架构)
  13. 设计模式-外观模式(家庭影院你值得拥有)
  14. .NET MongoDB Driver GridFS 2.2原理及使用示例
  15. MySQL必知必会(1)
  16. 人工智能机器人是什么编程
  17. 转行数据分析师后悔了?转行需要做哪些准备?
  18. MagicLeap SDK 安装指南
  19. 【老生谈算法】matlab实现人工免疫算法——人工免疫算法
  20. 蓝桥杯校内选拔赛(河南农业大学)

热门文章

  1. poj 1679(次小生成树)
  2. C#将DataGridView中的数据导出为EXCEL
  3. QuarkXPress 2021 for Mac(图文设计排版布局工具)
  4. Mac翻译软件Mate Translate
  5. 看雪CTF.TSRC 2018 团队赛 第十一题『伊甸园』 解题思路
  6. Python全栈学习_day010作业
  7. idea 配置 maven 和 镜像
  8. 解决IIShalders错误,解决IISmodules错误
  9. java爬取html过快,需要输入验证码
  10. HDU 5778 abs