×
FPGA/DSP > DSP系统 > 详情

嵌入式软件设计:Android多媒体应用开发与研究

发布时间:2024-05-17 发布时间:
|

  首先介绍并分析Android 系统的层次架构,并在此基础上介绍Android 应用程序开发的相关技术和基本的开发流程。接下来介绍Android 提供的多媒体开发组件。最后用具体的应用程序---播放器简要说明Android 多媒体应用程序的开发方法。

  0 引言

  2007 年11 月由Google 牵头,有30 多家移动技术和无线应用领域领先企业组成的开放手机联盟( Open Handset Alliance) 发布了其智能手机平台---Android.Android 是一个开放、自由的移动终端平台,它是由操作系统、中间件、用户界面、应用软件组成,同时其开放性保证该平台不存在任何阻碍移动产业创新的专有权障碍。开发人员在该平台开发的应用程序是使用Java 语言编写的,在Dalvik 虚拟机上运行的。Android 的底层是以开放性的Linux Kernel为其架构,也可以理解为Google 推出的手机操作系统和相关软件的总称.

  Android 是一套真正意义上的开放性移动设备综合平台,它包括操作系统、中间件和一些关键的平台应用。Android 最大特点在于它是一个开放的体系架构,具有非常好的开发和调试环境,而且还支持各种可扩展的用户体验,Android 里面具有非常丰富的图形系统、对多媒体的支持功能和非常强大的浏览器[2].

  Android 平台的开放性等特点既能促进技术( 包括平台自身) 的创新,又有助于降低开发成本,还可以使运营商能非常方便地制定特色化的产品,因此,它具有很大的市场发展潜力。

  1 Android 软件平台的构成

  Android 软件平台主要由5 部分构成,它们分别是: 关键应用程序、应用程序框架和组件、C /C ++ 函数库、Java 程序运行环境、优化了的Linux 内核。

  (1) 关键应用程序。

  Android 本身会附带一些核心的应用程序,包括E-mail 客户端、短信程序、日历、地图、浏览器、通讯录等,目前所有的应用程序都是用Java 语言开发的。

  更多有特色的Android 应用程序还有待于广大开发者共同参与开发。

  (2) 应用程序框架及组件。

  Android 应用程序开发基于框架和组件。Android 本身已在其框架中提供了许多组件供应用程序调用,开发者也可在开发应用程序时顺带开发新的组件,并将该组件放入应用程序框架中,以供自己和其它应用程序调用。

  (3) Android 运行时库和其它库层。

  Android 应用程序框架之下是一套C /C ++ 函数库,它们服务于Android 应用程序组件,其功能通过组件间接提供给开发者。这些函数库包括: 标准C函数库、多媒体库、浏览器引擎( 集成了Web 浏览器和Internet 安全的SSL 和WebKit) 、2D、3D 图形库及SQLite 引擎和外观管理器等。这一层也提供了程序运行的环境。Android 的Java 程序运行环境包含一组Java 核心函数库及Dalvik 虚拟机,它们有效地优化了Java 程序的运行过程。

  (4) Linux 内核。

  Android 系统平台基于优化了的Linux 内核,它提供诸如硬件驱动程序( USB、蓝牙、显示屏等) 、内存管理、进程管理、电源管理等服务,同时也是手机软、硬件的连接层。

  2 Android 程序开发的基本组件

  Android 有如下几大基本组件: Activity、Service、Content Provider 和Broadcast Receiver。

  Activity 是Android 最基本的应用程序组件。任何一个Android 应用程序都可以看作一组任务,这里每一个任务就可以称作一个Activity.在应用程序中,一个Activity 通常就是一个单独的屏幕,用于呈现数据和与用户进行交互,每个屏幕可以有一个或多个组件布局。

  而每一个活动又是一个单独的类,每一个这样的类都要将Activity 作为父类。一个Activity 可以切换到新的Activity,也可以返回前一个Activity.Android 通过使用Intent 类来实现Activity 的切换。例如,一个简单的游戏程序可以分为5 个Activity: 启动画面、主菜单界面、游戏主界面、高分辨和帮助界面。

  Service,即“服务”的意思,相当于没有界面的Activity.应用程序的Service 可以不需要用户直接参与而长时间运行。典型的例子就是音乐播放器。在一个音乐播放器程序中有多个Activity,它们分别实现了歌曲的选择和播放等功能。然而,音乐重放这个功能并没有对应的Activity,它通过Service 来实现。

  音乐播放器程序启动一个Service,它可以在后台保持音乐的不断播放。应用程序还可以连接到一个Service.当Service 启动后,还可以借助Service 提供的接口与它进行通信。

  Android 应用程序可以使用文件、SQL 数据库等各种存储系统来保存数据。但是,如果想实现不同应用之间的数据共享,就需要用到Content Provider.

  Content Provider 提供了一套标准的访问接口,以方便其他应用程序对数据进行访问、操作。

  在实际应用中,常常需要等待系统或者其它应用发出一道指令。在Android 中,充分考虑了这类需求,于是就有了Broadcast Receiver 这样的一个组件。

  每个Broadcast Receiver 都可以接收一种或若干种Intent作为触发事件,当一个Broadcast Receiver 被触发后,系统就会通知相应的程序。


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
基于单片机的PSD数据采集电路的设计方案(一)