文献综述Android系统原理及SDK配置_第1页
文献综述Android系统原理及SDK配置_第2页
文献综述Android系统原理及SDK配置_第3页
文献综述Android系统原理及SDK配置_第4页
文献综述Android系统原理及SDK配置_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单位代码01学号080101040分类号 TP311HUANGHES&TCOLLEGE文献综述Android系统原理及SDK配置院(系)名称信息工程学院专业名称计算机科学与技术学生姓名指导教师2012年3月15日Android系统原理及SDK配置摘要OHA(OpenHandsetAlliance,开放手机联盟),是Google与其他数十家联手为Android移动平台系统的发展而建立的一个组织。Android(安卓)是一种以Linux为基础集合中间件及关键应用的开放源代码操作系统,主要使用于各种便携设备,是目前最流行的手机开发平台,该系统的Logo是一个机器人。它最初是由AndyRubin(谷歌工程副总裁)开发,最初主要支持手机。2005年由Google收购注资,并组建开放手机联盟开发改良,逐渐扩展到平板电脑及其他领域上。与其他操作系统一样,Android的系统也采用了分层架构,依次为:应用程序层、应用程序框架层、系统运行库层和Linux核心层。Android是以Linux为核心的手机操作平台,作为一款开放式的操作系统,随着其快速发展,如今已可使用多种编程语言来开发Android应用程序,而不再是以前只能使用Java开发Android应用程序的单一局面,因而受到众多开发者的欢迎,成为真正意义上的开放式操作系统。系统底层方面,Android使用C/C++作为开发语言。早期的应用程序主要是是使用Java作为编程语言开发,通常使用AndroidSDK(Android软件开发包)来进行应用程序的开发;但通过不同的软件开发包,则使用不同的编程语言。关键词:开源,Android,SDK目录TOC\o"1-5"\h\z\o"CurrentDocument"1绪论 1\o"CurrentDocument"Android系统架构 2\o"CurrentDocument"Android系统架构描述 2\o"CurrentDocument"AndroidSDK开发环境 3\o"CurrentDocument"Android系统概述 4\o"CurrentDocument"Android基础知识 4\o"CurrentDocument"Android的开发工作 4Android的SDK与源代码 5\o"CurrentDocument"结论 6\o"CurrentDocument"参考文献 71绪论移动电话(手机)作为一种消费类电子产品,走进普通民众的生活,已经有20多年历史了。移动电话的开发经历了传统移动电话的开发、半开放式移动电话的开发、全开放式移动电话的开发。从移动电话的开发历史来看,传统移动电话开发一直是主要的形式,该模式比较简单,由于机制造商制作,其特点是这样开发的移动电话是一个封闭的系统,和普通产品没太大的差别。用户只能使用厂商提供的固定功能,而不能根据需要开发和使用个性化的功能。随着用户对移动电话系统的自定义需求的增加,移动电话系统的开发走向了开放模式。这种模式事实上是一种半开放式的移动电话开发:厂商制作手机手机出手,第三方开发移动电话应用。在该模式下厂商仍然靠销售盈利,但增加了第三方开发应用程序的机会。厂商支持开放的接口,为第三方应用程序能在他们的移动电话上运行提供了可能,愈来愈多的第三方应用为该模式促成了双赢。但是这种开放模式中只有第三方应用程序的接口是开放的,移动电话系统的本身的开发并不是开放的。Android的出现,构建了一种全新的移动电话开发模式,这是一种全开放的移动电话开发模式。Android移动电话不但可以使用第三方应用,而且移动电话系统本身也是开放的。在该模式下,各厂商在统一开放的平台上开发移动电话;第三方开发移动应用。Google的Android系统是一个完全开放的系统,也是一个完整的生态系统,有三个有机部分组成:Android源代码工程、Android开发者、Android市场。这三部分是相互依存的,从移动电话的系统软件开发,到移动应用程序的开发,再到程序的交易,Android系统是完全开放的。随着其技术发展的成熟,越来越多的企业会加入到Android的阵营中来,在3G时代中将移动电话朝着智能化的方向迈进,真正能成为多功能载体,如手机视频、可视通讯、基于位置的服务、视频播客等,这些服务,将极大地丰富和提高用户体验,进而最大限度地促进技术发展,同时拓宽了消费市场。2Android系统架构2.1Android系统架构描述Android系统结构从上到依次为:应用程序层、应用程序框架层、系统运行库层、Linux核心层。从下面的系统系统架构图可以清晰展示:图2-1Android系统架构图Android会同一系列核心应用程序包一起发布,该应用程序包包括email客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是使用JAVA语言编写的。开发人员也可以完全访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块。同样,该应用程序重用机制也使用户可以方便的替换程序组件。隐藏在每个应用后面的是一系列服务和系统,如视图系统、窗口管理器、活动管理器、包管理器等。Android包含一些C/C++库,这些库能被Android系统中不同的组件使用。它们通过Android应用程序框架为开发者提供服务。与该层并列的还有Android运行库,该核心库提供了一个独立的Dalvik虚拟机实例。Dalvik是用于Android平台的Java虚拟机,能实现在一个设备上同时高效地运行多个虚拟系统。它的实现必须依赖于Linux内核的一些功能,如线程机制和底层内存管理机制。最底层是Linux内核,Android的核心系统服务依赖于Linux2.6内核,如安全性、内存管理、进程管理、网络协议和驱动模型。Linux内核也同时作为硬件和软件栈之间的抽象层。2.2AndroidSDK开发环境第1步:初始化学习概率p;第2步:由学习概率指导产生k个解;第3步:计算上一步产生的k个解的目标函数值,并从中找出一个最优解,设为B;第4步:用目标函数值中的最优解B修正学习概率P;第5步:返回到第2步循环,直至满足一定的结束条件为止。由于实际问题中的每一个解,往往需要多位取值,此时若仍用二进制位表示,会造成许多不便,所以会经常使用其他类型的编码方法进行操作3。如任意整数编码,二维表。在课表的编排过程中会涉及多种约束条件,而求解过程就是排除约束条件间的冲突矛盾,同时要尽量合乎现实情况。这里会出现课表编排问题中的两个条件:硬约束条件和软约束条件。其中:硬约束条件是必须满足的条件,软约束条件是尽量满足的条件。课程表安排问题是组合规划中典型的优化决策问题,已被证明是NP难题,至今为止,人们没有找到求解此问题的精确方法囹。在PBIL算法的求解中需要首先确定样本集,这关系到算法实现的复杂度和问题实现的可行性。而样本集的确定是一个复杂而重要的问题,这也给算法实现带来了不便,因此解决这个问题很是关键。3Android系统概述Android基础知识Android一词最早出现于法国作家利尔亚当(AugusteVilliersdel'Isle-Adam)在1886年发表的科幻小说《未来夏娃》中。他将外表像人的机器起名为Android。它的Logo是由Ascender公司设计的,其中的文字使用了Ascender公司专门制作的称之为“Droid”的字体°Android是一个全身绿色的机器人,绿色也是Android的标志。颜色采用了PMS376C和RGB中十六进制的#A4C639来绘制,这是Android操作系统的品牌象徵。有时候,它们还会使用纯文字的Logo。Android用甜点作为它们系统版本的代号的命名方法开始于Android1.5发布的时候。作为每个版本代表的甜点的尺寸越变越大,然后按照26个字母数序:纸杯蛋糕,甜甜圈,松饼,冻酸奶,姜饼,蜂巢,冰激凌三明治,根据最新消息新一代Android版本将命名为果冻豆(JellyBean)。Android的开发工作Android是一个开放的系统,而且这个系统的体积非常庞大,不同的开发者在开发过程中不需要掌握整个Android系统,只需要进行期中某一部分的开发。其开发主要分为:移植开发移动电话系统、Android应用程序开发、Android系统开发。期中第一种类型的开发和第二种类型的开发是Android开发的主流。事实上,移动电话的制造者主要进行第一种类型的开发,其产品是Android手机;公司、个人和团体都可以进行第二种类型的开发,其产品是不同的Android应用程序。在开发过程中,每一种类型只涉及整个Android系统的一个子集,Android系统中存在众多相互独立同时又具有内在联系的开发点,因此开发中重点掌握当前开发点涉及的部分。Android移植开发最终是为了开发手机产品,该类型需要以具有硬件系统为前提,在此基础上构建Android软件系统,它的开发工作在Android系统底层。软件系统方面主要的工作集包括Linux中的相关设备驱动程序和Android本地框架中的硬件抽象层。Android应用程序开发是Android开发的另一个方面,是当前的主流的开发趋势。从开发角度看,该形式的开发可以基于硬件系统,在没有硬件系统的情况下也可以基于Linux或者Windows下的Android模拟器来开发,本类型工作在Android系统的上层。Android系统本身的功能也在增加和完善的过程中,因此Android系统的开发也是一个重要方面。这种类型的开发涉及到其软件系统的各个层次。它的一个典型示例就是当系统需要某种功能时,为了给Java层次的应用程序提供调用接口,需要从底层到上层的整体开发。比如增加C或C++本地库、定义Java层所需的类、将所需的代码封装、应用程序调用Java类。但在更多的时候,Android系统的开发只是在不改变系统API(应用程序编程接口)的情况下修正系统的缺陷,增加系统的稳定性。Android的SDK与源代码Android系统主要集中在两种环境中,分别是基于AndroidSDK的开发和基于源代码的开发。前者可以在Linux和Windows两种环境中使用IDE(集成开发环境)完成,后者需要在Linux环境中进行开发,但常见的项目开发还是在微软平台下进行,所以此处不再赘述源代码开发。不同版本的Android的SDK可以在Google的Android开发者(AndroidDeveloper)网站上免费下载,网址为:/sdk/index.htmlo由于版本更新比较快,目前可以在其官网下载应用于Windows平台的AndroidSDK可执行文件或者是压缩包文件,可根据需要自选。基于SDK的Android开发仅限于开发Android的应用程序,其开发的产品是Android最上层的Java应用程序包。这种开发环境中主要使用Java语言,不需要使用硬件,也不需要涉及到Android系统的底层,只需了解Android系统的API。由于可以使用主机的仿真环境,因此有各种成熟的工具可以使用。同时这种开发所涉及到的知识体系包含一些重要内容,如:Java语言知识,Android应用程序架构,AndroidGUI(图形用户界面)设计基础知识,Android中各种视图的使用,Android中2D/3D图形API,Android中应用程序的设计思想等。结论随着科学技术的日益进步,计算机的应用与推广也有着日新月异的变化,而其在课程编排领域的应用也达到了一定的深度,由于计算机具有运算快,处理能力强的特点,课程的编排问题也有了更好的解决方案一一计算机编排。于是排课算法得以研究与延伸,一种好的算法能够快速、高效地得到满足约束条件的可行性结果。从而使教务人员从繁杂的排课任务中解脱出来,并对推动教学的发展有非常重要的作用。在本文中介绍了PBIL算法,案例注入式遗传算法、混合型模拟退火算法、分支定界算法的原理和实现方法,并对存在的优缺点做了分析与比较,其中PBIL算法是一种进化算法,以学习为手段,用概率作指导,通过多次计算比较并参考目标函数的收敛性求得最优解;案例注入式遗传算法通过对原有案例库的相似性搜索,然后通过复制、交叉、变异等方法实现新案例的生成;退火算法采用复杂度高者优先、循环首次适应算法、贪婪法、回溯法和松弛法等多种方法,由随机函数求得最优解;分支定界算法是一种在问题的解空间树上搜索问题的解的算法,确定上下界进行逐渐缩小搜索实现最优解。参考文献韩超,梁泉.Android系统原理及开发要点详解[J].北京:电子工业出版社,2010⑵张波,高朝勤,杨越.Android基础教程[J].北京:人民邮电出版社,2009,黄十平,刘娟.解“时间表问题”的启发式算法[J].武汉大学学报(自然科学版),1996,42(1):71-74.李海颖.基于案例的推理综述[J].邢台学院学报,2004,19(2):66-68.王玉,邢渊,阮雪榆.基于事例的推理循环中人工神经网络和遗传算法的4种应用模型[J].上海交通大学学报,2003,37(2):202-204.HOLLANDJH,Adapt

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论