Android苦手的App之旅(2)

从Google的官方Training文档与API Guide文档中,可以大体了解关于Android Media开发的基础结构,其中推荐的Audio应用架构如下:
这里写图片描述
Audio应用设计的出发点是基于Audio应用通常在后台运行,并不需要长时间显示在屏幕上,因此分为UI & Service 2个层次:UI负责浏览媒体内容,Service负责媒体检索与播放控制。应用的设计围绕着MediaBrowser(Activity)和MediaBrowserService(Service)展开。Service层通过继承MediaBrowserSerice并追加Session和Player对象实现,Activity侧基于MediaBrowser实现与Service的通信。基于MediaBrowserService实现,还有个好处是便于外部设备(如兼容Android Auto或Wear)能够发现并控制Audio应用。
最新的Android平台,提供了Media-Compat库,用于简化Media应用开发并增加兼容性。
从Google提供的这些信息中,能够一窥Media开发的大致框架,但对于一个完整Media应用来说,信息量不够。还好Google提供了大量的Android Sample(传送门),其中的MediaBrowserService正是基于以上架构设计,因此对于我的应用设计具有很大的参考意义。
MediaBrowserService基于网络媒体实现,媒体索引来自于Google,媒体内容存储在Youtube,由于众所周知的原因,这个程序编译完成后,偶尔能够使用。为了能够理解Android Media应用开发的思想,花了一天多的时间读了下这部分代码(参见前文),并制作了其中的主要时序(下图为内容检索时序,部分同步、异步及组件间的关系未必正确,大体时序如此)作为备忘:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值