是用Java语言中的独立的能够完成一些功能的应用。 Android本身提供了桌面(Home),联系人(Contacts),拨打电话(Phone),浏览器(Browers)等很多基本的应用程序。开发 人员可以使用应用框架提供的API编写自己的应用程序,普通开发人员要做的事情就是开应用层的程序提供该广大消费者使用。
2.1.2应用程序框架(Application Framework)
普通开发者可以使用Android基本应用程序使用的系统API,Android应用程序框架的各个模块和各种服务都是可以复用的,理解了这个机制,开发人员可以更好的easierdevelop优秀的android应用。开发过程中常用到的基本框架组件如下:
(1)软件包管理器(包管理),管理所有的安装在android系统内的应用。
(2) 资源管理器顾名思义就是资源管理,大量的Android资源,包括图片,用户界面(布局XML),字体,颜色,标识UI组件等,可以被称为资源,这些丰富的资源,都是通过资源管理器来统一进行管理。
(3)Window Manager(窗口管理),管理所有启动的窗口。
(4)一组View(UI 组件),这些UI组件,包括Button(按钮),EidtView(文本框),TextView(标签),List(列表)等等,灵活运用这些组件可以快速方便的创建良好的用户交互界面。
(5) Activity Manager(活动管理),活动管理控制着应用的导航,管理着应用程序的生命周期,并且扮演着控制器的角色。一般的应用都是通过一个个Activity交互构成的,而每个Activity又类似于Windows应用中的一个wendow。。
(6) Notification Manager(消息通知管理),不影响用户正常操作和使用设备时,状态栏上的提供提示信息,比如有短信来的时候,用户可以及时的看到状态栏上的信息,因为android自动会将这个消息提示在状态栏上,。
(7) Location Manager(位置管理),用来管理地图服务的相关功能。
(8)Content Providers(内容提供者),听起来有点抽象,通俗的理解,Content Provider 就是提供一种服务。应用程序之间可以通过这种服务实现数据的互相访问和共享。比如通讯录的存储就使用了这种服务,其它应用也可以访问通讯录中存储的联系人信息。
(9)Telephoney Manager(电话管理),用来管理有关的电话的相关功能。
2.1.3 库(Libraries)和运行环境(RunTime)
这部分内容开始涉及常见的应用的底层,普通的开发不直接操作在这一层上。这一层包含一个类库和运行环境:
(1)OPENGL|ES,基于OpenGL ES 1.0 APIs实现,该库可以使用硬件3D加速,或者使用高度优化的3D软加速。
(2) SQLite,QLite为所有的应用,提供一个功能强大的轻量级关系数据库引擎。
(3) Dalvik VM, android平台的一个虚拟机,它相当于PC中Java的虚拟机JVM。
(4) WebKit,一个最新的web浏览器引擎,WebKit用于支持Andiroid的浏览器或嵌入式web视图。
(5)媒体库(Media Framework),基于OpenCore的PackeVideo,该库支持多种常见的音频和视频格式,同时支持静态图像文件。编码格式包括:AAC,H.264,MP3,PNG,MPEG4,JPG,AMR。
(6)基本的2D图形引擎SGL。
(7) FreeType,位图(bitmap),适量(vector)字图显示支持。
(8)系统C库(libc),BSD集成系统标准C库(libc),它是专门为基于嵌入式Linux的设备定制。
(9) Core Libraries ,该核心库提供了大部分的Java编程语言核心库的功能。
(10) Surface Manager 对显示子系统的管理,并且可以2D,3D图层的无缝集成多个应用程序。
2.1.4 操作系统(OS)
Android 的核心系统服务依赖于Linux 2.6 内核,操作系统为Android提供的服务包括:
1. 内存管理(Memory Management)
2. 网络堆栈(Network Stack)
3. 进程管理(Process Management)
4. 安全性(Security)。
5. 驱动程序模型(Driver Model)包含以下这些常规的驱动程序:
(1)Display Driver:显示驱动程序
(2)Keypad Driver :键盘驱动程序
(3)Camera Driver :摄像头驱动
(4)WiFi Driver :无线网络驱动程序
(5)Flash Memory Driver :快闪记忆体驱动器
(6)Audio Driver :音频驱动程序
(7)Binder(IPC) Driver :粘结剂(IPC)驱动器
(8)Power Management :电源管理
只有了解了android框架才能更好的使用android提供的功能和服务。所以如果在android的整体框架这一方面有一定的了解后,对与理解android的一些机制和应用开发有很大的帮助,
2.2 Android 应用程序的组成
(1)Intent
在Android中,每一个行为都可以抽象为一个Intent。可以简单地把Intent理解为一个包含了数据的消息。Intent可以用于启动一个Activity或者Service,可以用于进程间的通信。事实上,应用程序的启动也是通过Intent实现的。
(2)Activity
正如它的名字所暗示的,Activity就是活动。应用程序必须至少包含一个Activity。Activity提供了一个虚拟的用户接口,每一个Activity都有一个默认的窗口可以被用来显示用户界面,在正常情况下,它是一个全屏幕窗口。例如,音频和视频播放软件用户界面就是Activity。
(3)Content providers
Android平台建立了一个SQLite数据存储机制,并包含了一系列管理SQLite数据库的相关方法。正常情况下,应用程序不直接调用的内容提供者定义的函数,而是通过ContentResolver间接呼叫。这样设计的好处是ContentResolver可以访问任何的Content providers,并且统一了接口。在Android应用程序中可以通过Content providers访问数据库。每个Content provider都定义了一系列的方法用于访问它对应的数据库。应用程序在新建数据库时也可以定义相应的Content provider用于向其他应用程序共享数据。
(4)Service
Service与Activity的主要区别在于,Service是在后台运行的,并且它也没有用户界面。例如通常情况下,用户选择了一个播放列表开始播放后,离开了该用户界面(Activity),如果仍然希望视频或歌曲不会暂停,这时不能在Activity中调用播放器。而是用Service去调用播放器,
2.3 Android 应用工程文件的组成
(1)src既源文件目录.
(2)gen目录.包含R.java文件.它由Eclipse自动生成和修改,不需要我们去维护.下面的res文件夹中发生的任意变化,R.java都会重新编译,一直保持同步.
(3)android库.
(4)assets目录.存放多媒体等文件.
(5)res目录.存放应用用到的资源文件.
(6)drawable目录,存放图片资源.分别为高中低三个分辨率.
(7)layout目录.放置布局文件,均为.xml文件.
(8)values目录.放置字符串(string.xml),颜色(colors.xml),数组(arrays.xml)
(9)AndroidManifest.xml.应用的配置文件.我们要在这个文件中声明应用的名称,所有的Activity,Service,Reciver等
3 基于Android手机平台的多功能视频播放器的系统分析
3.1 系统的可行性分析
可行性分析的任务,不是所有的问题都有简单明显的解决方案,其实,很多问题在系统规模的预定大小内不能得到解决。如果问题还没有一个可行的解决方案,然后就开始开发项目,那么开发项目时间,资源,人力和资金将造成是不必要的浪费。
可行性研究的目的是用最小的代价在最短的时间,以确定问题是否可以解决。必须记住的可行性研究的目的不是为了解决问题,而是要确定它是否是值得的解决方案。如何达到这个目的呢?当然,不能依靠主观的猜想,依靠客观的分析。必须几个主要的可能的解决方案的利弊进行分析,以确定原来的
上一篇:
基于安卓平台的校园通软件设计—毕业论文(word文档)
下一篇:
面向android系统的测试工具_毕业论文