基于Android系统的影音播放器开发
引言
Android一词的本义指"机器人",同时也是Google于2007年11月5日宣布的基于Linux平台的开源移动终端操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,是首个为移动终端打造的真正开放和完整的移动软件。
随着科技的不断发展,手机不再只是人们日常生活的移动通信工具,而是一个多媒体平台,可提供强大的多媒体功能,越来越多的人喜欢用手机听音乐、看电影。Android系统内置的音乐播放器基于媒体库对歌曲进行管理,并且不支持歌词的同步显示。对于部分已经习惯的基于文件浏览器形式播放器的用户,操作起来会有所不便。对于Android手机操作系统,可以充分利用它丰富的可编程扩展性,开发出新的播放器应用软件。
1 Android平台
Android软件开发主要涉及到的相关技术包括Android SDK(开发插件、调试工具包等)、Android系统架构和Android应用程序组件。
1.1 Android SDK
Android SDK(Software Development Kit)提供了Android平台上使用Java语言进行Android应用开发的API接口和工具。其中,最重要的工具是Android模拟器和Eclipse的Android开发工其插件,同时SDK也包含了各种在模拟器上用于调试、打包和安装的工具。
Eclipse IDE的Android开发工具插件(AndroidDevelopment Tools Plugin for the Eclipse IDE,ADT)大大扩展了Eclipse集成环境功能,使得生成和调试Android应用程序既容易又迅速。使用Eclipse,ADT插件可以加快开发Android应用程序的速度。
Android模拟器是在计算机上运行的一个虚拟移动设备,可以使用模拟器来模拟一个实际的Android运行环境,来设计、调试和测试应用程序。
Dalvik调试监视器服务(Dalvik Debug MonitorService,DDMS)集成了Dalvik(为Android平台定制的虚拟机(VM)),能够在模拟器或者设备上管理进程并协助调试。DDMS提供进程管理,产生跟踪数据,观察堆和线程信息,截取模拟器屏幕画面,模拟来电或短信等功能。
1.2 Android系统架构
Android是一个专门针对移动设备的软件集,它包括一个操作系统,中间件和一些重要的应用程序。Android的系统架构从上往下依次是应用程序、应用程序框架和组件、Android运行时库和其他库、优化的Linux内核。
1.3 Android应用程序的组件
手机的运行环境比较复杂,一个程序运行时经常会出现很多的突发情况,例如,来电或者短信及电量不足等。这些问题在Android中都有解决方案,在Android的应用程序中,以下几个组件特别重要:
(1)Activity
顾名思义,Activity就是活动。应用程序必须至少包含一个Activity。Activity提供了一个虚拟的用户接口,每一个Activity都有一个默认的窗口可以用来显示用户界面,一般情况下,它是全屏的窗口。例如,影音播放软件的每个用户界面就是Activity。
(2)Service
Service与Activity的主要区别在于,Service是在后台活动的,它没有用户界面。典型的应用场景是,用户选择了一个播放列表开始播放后,离开了该用户界面(Activity),如果仍然希望歌曲不会暂停,就可以用Service去调用播放器,而不是在Activity中调用播放器。
(3)Intent
在Android中,每一个行为都可以抽象为一个Intent。可以简单地把Intent理解为一个包含了数据的消息。Intent可以用于启动一个Act-ivity或者Service,可以用于进程间的通信。事实上,应用程序的启动也是通过Intent实现的。
(4)Content providers
Android平台内置了一套SQLite数据储存机制,并包含一系列管理SQLite Database的相关方法。在应用程序中,可以通过Content prov-iders访问数据库。每个Content provider都定义了一系列的方法用于访问它对应的数据库。应用程序在新建数据库时也可以定义相应的Con-tent provider用于向其他应用程序共享数据。一般情况下,应用程序不直接调用Content provider定义的函数,而是通过ContentResolver间接调用。这样设计的好处是一个ContentResolver可以访问任何的Content provider,统一了接口。
2 硬件平台
系统的硬件平台采用基于OMAP3530的开发板DevKit8000。美国TI公司的OMAP3530应用处理器集成了600 MHz的ARM Cortex-A8 CPU内核和430 MHz的C64x+DSP内核,并提供了USB 2.OOTG,SD/MMC和LCD等丰富的外设接口,适用于各种无线手持终端应用。DevKit8000开发板外接了一个4.3寸的LCD屏、电阻式触摸屏和音频输入/输出接口,可以用于对基于Android系统的影音播放器的开发。
通过打补丁包和开发LCD驱动、触摸屏驱动、按键驱动等外设驱动,在DevKit8000开发板上移植了版本为6.2.29的Linux内核和版本为1.6的Android系统。
- Android开发技巧:软硬件的巧妙整合(01-16)
- 基于Android的VoIP系统的设计与实现(03-28)
- Android的阿喀琉斯之踵(07-08)
- Android开发之“hello World”的实现 (07-23)
- 基于Android平台的即时通信系统客户端设计(09-24)
- 教你在Win7下配置Android开发环境(09-26)