欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    毕业设计android论文范本.docx

    • 资源ID:15743895       资源大小:544.74KB        全文页数:31页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    毕业设计android论文范本.docx

    1、毕业设计android论文范本1 绪论1.1 智能手机平台智能手机具有独立的操作系统,像个人电脑一样支持用户自行安装软件、游戏等第三方服务商提供的程序,并通过此类程序不断对手机的功能进行扩充,同时可通过移动通讯网络来实现无线网络接入。目前,全球多数手机厂商都有智能手机产品,而芬兰诺基亚、美国苹果、加拿大RIM(黑莓)、美国摩托罗拉、中国台湾宏达(htc)更是智能机中的佼佼者。 智能手机具有五大特点:1. 具备无线接入互联网的能力,即需要支持GSM网络下的GPRS或者CDMA网络的CDMA 1X或3G网络。 2. 具有PDA的功能,包括PIM(个人信息管理),日程记事,任务安排,多媒体应用,浏览

    2、网页。 3. 具有开放性的操作系统,可以安装更多的应用程序,使智能手机的功能可以得到无限扩展。4. 人性化,可以根据个人需要扩展机器功能。5. 功能强大,扩展性能强,第三方软件支持多。 1.1.1 SymbianSymbian(中文名:塞班)是一个实时性、多任务的纯32位操作系统,具有功耗低、内存占用少等特点,非常适合手机等移动设备使用,经过不断完善,但是虽然在智能型手机市场取得了无比的成功,并长期居于首位,Symbian S60、Symbian3,UIQ等(尤其是S60)系统近两年亦遭遇到显著的发展瓶颈。最近12个月欧洲手机公司诺基亚(Nokia)在智能手机市场市占率的滑落是不争的事实。需要

    3、注意的是,并不是所有的Symbian系统都是智能系统,比如S40系统,就不属于智能手机系统。 1.1.2 AndroidAndroid ( 中文名:安卓) 是基于Linux平台开源手机操作系统名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。目前在市场上可谓如日中天,越来越受到玩家的青睐,倍受摩托罗拉推崇。在Android发展的过程中,摩托罗拉付出的是核心代码,Google付出的是公关和品牌效应,当然还有它的google app,但是Google掌握了Android Market以及通过android google apps获得的大量用

    4、户。 1.1.3 OS(Tapas)点心操作系统(Tapas OS)是一款基于Android操作平台、针对中国用户使用习惯打造的互联网智能手机操作系统,在底层技术架构优化的基础上,为用户提供流畅的操作体验;同时根据本土化需求,提供贴心的功能设计及丰富的移动互联网应用。点心操作系统由北京风灵创景科技有限公司开发。该公司是李开复博士旗下的创新工场投资孵化的第一家公司。此外,点心还推出“均衡云计算”理念,整合网络环境、终端设备等负责状况,智能分配手机端及云端计算量、管理流量分配,为用户提供安全贴心的云计算服务。1.1.4 Windows Mobile作为软件巨头微软的掌上版本操作系统,在与桌面PC和

    5、Office办公的兼容性方面具有先天的优势,而且WM具有强大的多媒体性能,办公娱乐两不误,让他成为最有潜力的操作系统之一。以商务用机为主,目前市场已显出颓势,最新版本为Windows Phone 7,几乎对旧有的WM系统全盘推翻再造,其应用机型已逐渐上市,不过价格不菲。 1.1.5 iOSios是(又称MAC OS)由苹果公司为iPhone开发的操作系统,它主要是给iPhone、iPod touch以及iPad使用。最新版本为iOS4.3.2,该系统的UI设计及人机操作前所未有的优秀,软件极其丰富。苹果完美的工业设计配以iOS系统的优秀操作感受,就靠仅有的几款机型,已经赢得可观的市场份额。 1

    6、.1.6 MeeGoMeeGo是诺基亚和英特尔宣布推出一个免费手机操作系统,中文昵称米狗,该操作系统可在智能手机、笔记本电脑和电视等多种电子设备上运行,并有助于这些设备实现无缝集成。这种基于Linux的平台被称为MeeGo,融合了诺基亚的Maemo和英特尔的Moblin平台。 1.1.7 Web OSWeb OS(又称Palm os)以其独特的外形,另类的系统吸引了无数人的眼球,但是一个问题,就是目前没有任何正规途径,还有应用软件的问题,配套太少。Web OS系统目前仍有很多的计算机编程爱好者,在努力的专研。目前也Palm公司被惠普收购。希望其在主流系统云集的将来,不被陨殁! 1.1.8 Bl

    7、ackBerry OSBlackBerry OS是RIM公司独立开发出的与黑莓手机配套的系统,目前在全世界都颇受欢迎,在此系统基础上,黑莓的手机更是独树一帜的在智能手机市场拼搏,目前也已在中国形成了大笔粉丝。望其开发的愈来愈好,道路愈走愈宽! 1.1.9 三星Badabada是韩国三星公司自行开发的智能手机平台,支持丰富功能和用户体验的软件应用,于2009年11月10日发布。bada在韩语里是“海洋”的意思。 bada的设计目标是开创人人能用智能手机的时代。它的特点是配置灵活、用户交互性好、面向服务,非常重视SNS集成和地理位置服务应用。 bada系统由操作系统核心层、设备层、服务层和框架层组

    8、成。支持设备应用、服务应用和Web与Flash应用。 1.2 Android 平台介绍Android从诞生到现在也不过3年的时间,但是也就是在这短短的3年内Android创造了一个迅速被人们知晓并追捧的奇迹。2007 年11 月5 日,Google 与其他33 家手机制造商(包含摩托罗拉、宏达电、三星、LG)、手机晶片供应商、软硬体供应商、电信业者所联合组成的开放手持装置联盟(Open Handset Alliance),发布了名为Android的开放手机软硬体平台。该联盟的成员宣布日后都会在Android平台上开发他们的新的业务。不久之后的2008 年9 月24 日,T-Mobile 公司首

    9、度公布第一台Android 手机(G1)的细节,同日Google 也放出了Android SDK 1.0 rc1。这样Android进入了人们的视线。Android以其特有的开放性优势越来越受到人们和智能手机厂商的关注。对于第三放软件开发商来说,Android 是一个真正意义上的开放性移动设备综合平台,Android系统是免费向开发人员提供的,这样就避免了开发中专利权的障碍。因此,就能够为第三方软件开发商省下大笔资金。对于设备制造商来说,Android是一个免费的平台。当设备制造商每制造一台手机时,那些支付给手机系统制造商的费用也省去了,这样也降低了每台手机的生产费用,同时就降低了手机的价格,

    10、这样在市场上也提高了竞争力。对硬体开发厂商来说,Android也是个开放的平台。使用Android平台的厂商可以更具自己的需求以及能力为Android开发具有该厂商特色的功能,但是这样的增加完全不用考虑版权的问题。同时Android平台支持各种先进的网络、绘图、3D 处理能力,可以用来提供更好的使用者体验。Google Android 系统作为一个完全开源的操作系统,是由操作系统(Linux)、中间件以及核心应用程序组成的软件栈(software stack)。通过 android SDK 提供的 API 以及相应的开发工具, 程序员可以很方便的开发android平台上的应用程序。其整个系统由

    11、应用程序(Application),应用程序框架(Application Framework),应用程序库(Libraries),Android运行库(Android Runtime),Linux内核(Linux Kernel)五个部分组成。Android操作系统内置了一部分应用程序, 包括电子邮件客户端、SMS程序、日历、地图、浏览器、通讯录以及其他的程序,值得一提的是这些所有的程序都是用java编写的。因为应用程序框架使得组件更易于重用,所以开发者的应用程序可以很容易的调用API函数实现我们想要的功能。在遵守应用程序框架的安全机制约束的前提下,开发者开发的一个应用程序可以使用其他程序所开发

    12、的功能。虽然Android的应用程序是用Java语言开发的,但是Android给应用程序开发者提供了一系列的 C/C+ 程序库,通过Android的一些特殊的设计,我们开发者可以使用这些库,这在后面的叙述中将看到。现今,Android操作系统已成为许多手机制造商的宠儿,其中包括HTC、索尼爱立信、Samsung、摩托罗拉以及国内的联想、华为、海尔、华禹等。其中值得一提的是摩托罗拉公司,就在2009年11月凭借其一款搭载Android平台的Droid手机,两个月内就突破百万台,击败了苹果的iPhone 3GS,被时代杂志评选为“年度最佳科技产品”。因此告别了两年多的低迷态势,走出了泥潭。2 An

    13、droid的系统研究2.1 Android构架2.1.1 Android的构架综述Android是一个包括操作系统,中间件以及一些重要应用程序的专门针对移动设备的层次结构的软件集1。作为一个层次结构的软件集,一定有一个层次的系统构架,下图为Android的构架图: 图2-1 Android 系统构架从图2-1中明显的可以看出该系统从下到上包括Linux内核层、Libraries和运行时环境层、应用程序框架层、应用程序层四层结构。在Android的最下层的操作系统基于Linux2.6内核,往上的中间件包括Libraries和运行时环境层和应用程序框架层两个层次,最上层则是应用程序层。在Andro

    14、id构架中,可以很明显的看到,底层的Linux内核则采用的是C语言,libraries采用C或者C+,但是应用程序层、应用程序框架层和运行时环境中的Android核心库采用Java语言编写,也就是说Android虽然底层用的是C或者C+但是应用程序的开发则用的是Java。Google采用这样的模式可能是因为相对于C或者C+,Java的开发周期更短的缘故,这样的话就能在短时间内为Android提供大量的应用软件。我们知道,作为一个智能手机平台,只有拥有了大量的源源不断的应用程序作为支持,才能受人们的欢迎,从而才能占领市场。之前Nokia的s60第三版就是一个很好的例子,因此Nokia S60v3

    15、的系统才被世人所熟知,并且曾经在智能手机行业占有很大的市场。而另一个例子就是Linux系统,在所有操作系统中,稳定性和性能上能够和Linux抗衡的系统不多吧,但是在智能手机市场上为什么Linux却可以说是一败涂地,其原因也和其第三方应用少是脱不了关系的。2.1.2 内核层Google Android 作为一个开源的操作系统其内核采用了同样开源的被业界认为是相当稳定的Linux作为其内核,其中Linux内核包括以下功能模块:安全(Security)、存储器管理(Memory Management)、进程管理(Process Management)、网络堆栈(Network Stack)、驱动程序

    16、模型(Driver Model)等,另外也在给其上层的软件和下层硬件间建立起一个抽象层(Abstraction Layer)。同时Android在Linux 2.6的内核上进行了一些增加和删改,使Linux更加适应ARM平台。增加了一个基于ARM构架的GoldFish平台作为虚拟机的虚拟CPU。增加了YAFFS2 FLASH系统文件,因此增加了对NANDFLASH支持。增加了Android相关的驱动。例如Android的IPC(进程间通信机制)binder,使用这个能使运行的进程为其他进程提供服务;Android的日志系统(Logger)和内存控制台(Ram_console);同时Google

    17、还重写了电源管理(Power)增加了新的共享方式Ashmem(匿名共享内存),多个应用程序可以这种方式共享内存获取信息,为进程间提供大量共享内存,同时为内核提供回收和管理这个内存的机制。2.1.3 Android Runtime和函数库层2.1.3.1 函数库Android 包含一些C/C+库,Android系统中的各种不同组件都能够使用这些库函数。这些库函数通过Android 应用程序框架为开发者提供服务。以下列举了一些库函数2:系统 C 库-一个专门为Embedded Linux设备定制的从BSD(Berkeley Software Distribution 伯克利软件套件)继承来的标准C

    18、系统函数库。媒体库 - 基于 PacketVideo公司的OpenCORE开发设计的。该库支持MPEG4, H.264, MP3, AAC, AMR, JPG, PNG多种常用的音频、视频格式的回放和录制,同时支持静态图像文件。Surface Manager - 对显示子系统的管理,并且为多个应用程序提 供了2D和3D图层的无缝融合,提供如同类似iPhone的界面管理功能。LibWebCore - 一个支持Android浏览器和一个可嵌入的web视图的最新的web浏览器引擎。3D libraries - 基于OpenGL ES 1.0 APIs实现;该库可以使用硬件 3D加速(如果可用)或者使

    19、用高度优化的3D软加速。SQLite - 一个功能强劲的轻型关系型数据库引擎,Android中所有应用程序都可以调用它。FreeType -位图(bitmap)和矢量(vector)字体显示。SGL - 底层的2D图形引擎。2.1.3.2 Android Runtime前面说到Android采用Java作为应用程序的开发语言,但是虽然使用的是Java语言,但是Google却没使用传统的Java Runtime来执行应用程序而是采用Android自己特有的Android Runtime。从Android 的系统构架图中可以清楚的看到,Android Runtime由Android函数库(Andr

    20、oid Libraries)和Dalvik虚拟机组成3。Android函数库中里包含了大部分Java程序语言所需要调用的函数库,如data structure, network, utilities, file system等,其中很多代码是源于2005年的Apache Harmony项目。这样做的话能够使Android的虚拟机的类库与Java SE的类库有非常大的相似性,进而提高了Java SE类库的兼容性,最大限度的降低了一个程序员从Java平台开发到Andorid平台开发的难度,这样就降低了对Android开发的准备时间以及前期培训的费用,从而降低了Android应用程序开发的周期以及开

    21、发费用,这样的话短时间内就能让Google Android系统能够拥有大量的可执行的应用程序。另外,使用Apache Harmony 类库还能完全摆脱Sun的束缚而走上完全开源的Java之路,这样也奉行了Google对Android完全开源的原则。我们知道,对一个应用程序而言,都采用一个属于该应用程序的进程作为执行的载体,同样,对于Android也是,一个应用程序也是有一个属于它的进程。之前说过Android采用Java作为开发语言,在进程执行时应该会有一个Java虚拟机来为进程提供服务。在Android构架图中可以看到, 该系统采用的是一个叫做Dalvik的虚拟机。在前面的研究中我们了解到D

    22、alvik虚拟机是一个Java 虚拟机,但是又和Java虚拟机有所不同。Dalvik虚拟机和传统的Java虚拟机所不同之处的是传统的Java虚拟机是一个虚拟机来为不同应用程序提供服务,而Google自己开发的Dalvik虚拟机则是每一个Android应用程序都拥有一个其自身的Dalvik虚拟机,换句话说就是专属于每一个应用程序对应着一个Dalvik虚拟机而这个Dalvik虚拟机相当于一个执行个体。有关Dalvik虚拟机的内容将在下一个部分详细说明。Android函数库和Dalvik虚拟机组成了Android的运行时环境。从图中可以看到,Android Runtime和Libraries在同一层

    23、,建立在Linux Kernel 层之上,与Linux Kernel 没有交集,而是直接嵌套到libraries中。我们之前说过,我们开发者可以调用C和C+的一些类库。其实就是这样Android Runtime与Libraries在同一层的设计并同时让Android Runtime 中的Android Libraries 引用libraries中的函数,而通过Dalvik虚拟机编译以后再调用这些函数做到上面所述的功能。也就是说其实Android Libraries中的函数只是libraries中的一些引用,当一个上层的应用程序调用Dalvik虚拟机中的核心库函数时,调用的其实只是一个函数名,并

    24、不是函数的具体实现,然后Dalvik虚拟机对该函数进行一些处理以后再通过Dalvik虚拟机调用libraries中的相应函数,使之运行。换句话说就是,Android Libraries中的只是一个函数名,而真正代码的实现是libraries中的C或者C+代码。这样的好处就在于那些使用Java语言很难实现但是在C或者C+却能很容易实现的功能也能通过Java很容易等的实现。2.1.4 Dalvik 虚拟机Dalvik虚拟机是Android Runtime的一个组成部分,之所以要把他拿出来单独进行研究是因为,Dalvik虚拟机作为一个Java虚拟机,但它和普通的Java虚拟机有着一些不同。Googl

    25、e的工程师结合传统的Java 虚拟机,根据Android使用的平台一般为移动终端设备这样一个特点重新设计的虚拟机,这个虚拟机在移动终端设备上运行效率上明显比传统的Java 虚拟机要高许多。Dalvik虚拟机对内存的高效使用和在低速的CPU上表现出的高性能,确实让人们刮目相看。Android的上层应用程序虽然是用Java开发的,但是Dalvik虚拟机却和传统的Java虚拟机有着很大的区别,两者是不兼容的。首先,众所周知在Java 中,所有的程序代码会被编译器编译成字节码(.class)文件,然后再打包成JAR文件,在执行时Java虚拟机就从JAR文件中提取出相应的字节码文件来执行。在Androi

    26、d中不再使用字节码文件而是一种Android所特有的DEX(Dalvik EXecutable)文件。DEX文件的生成还是需要经过生成字节码文件的这个过程的。使用Java语言编写好的Android程序代码,同样是先用Java编译器编译成为字节码文件,但是在这之后还需通过Google提供的一个DX工具将编译好的字节码转换成为DEX文件,然后Dalvik虚拟机通过DEX文件获得执行的代码。 Google弃用字节码文件而采用特有的DEX文件格式,这表明在Android实际运行中DEX文件格式相对于字节码文件格式应该有一些独特的优势。在Java中当一个应用程序定义了多个类后,通过编译则会产生相应数目的

    27、class字节码文件,在这些字节码文件中则必然会有冗余信息,例如一些相同的类库会冗余等。而DEX文件格式则是把这些class字节码文件整合到一个DEX文件中,使得字节码中的冗余减少了,同时使整体文件的尺寸也减少了。这样一来,对于同一个应用程序来说,相对于Java的字节码文件Android的DEX文件格式在I/O操作中所需要的时间也减少了,同时也减少了查找类所需要的时间。另外DEX使用等长的指令,这样的话能够使得DEX文件尽量的简洁,从而提高了解析速度。通过上面的研究可以看出DEX文件格式是一种专为Dalvik虚拟机设计的压缩格式,该格式的高性能很适合内存和处理器速度有限的平台,从中可以看出An

    28、droid是定位于嵌入式平台的一个操作系统。在这也体现出了Google给Android所定义的发展以及战略方向,如今移动平台的网络应用已经成为当前移动终端设备的发展方向,作为网络搜索的龙头大哥,Android就是其打入该移动平台网络应用的利器。 Android应用开发和Dalvik虚拟机同样都使用Java开发语言,在应用程序开发好以后我们就需要将这个应用发布到Android移动终端设备。我们把一个开发好的应用的Java代码经过编译以后生成.class的字节码文件,通过Android的DX工具转换成.DEX格式的文件,最后使用Android的appt打包工具把DEX文件,源文件以及Android

    29、Manifest.xml文件组合成一个APK应用程序包,然后就能发布到移动终端设备上了。在APK应用程序程序包发布到移动终端设备后,应用程序运行前会对其中的DEX文件进行优化,优化后的文件格式称之为DEY,DEY文件被保存到缓存区域,虚拟机会在缓存中执行这些文件。 其次,传统的Java 虚拟机是采用的是基于栈的设计,而Dalvik虚拟机则是基于寄存器设计的。基于栈设计的虚拟机能够使指令变得简单,不需要考虑程序中的源寄存器和目的寄存器,只需要开辟栈空间而不需要为临时变量再开辟一个存储空间。另外基于栈设计的虚拟机移植性比基于寄存器设计的虚拟机要高很多,从组成原理和嵌入式操作系统课程中我们知道,一般

    30、的32位x86处理器的通用寄存器和32位的ARM的通用寄存器数目是不同的。虚拟机的设计中,为了执行的效率,有时会把这些寄存器一一映射到物理寄存器上,但是由于平台的不同,导致通用寄存器数量不同造成如果基于寄存器设计的虚拟机很难做到一一映射,执行效率就会大打折扣。而用基于栈的设计的话,就不存在这种问题,就很容易的分配寄存器。另外,基于栈设计的虚拟机采用的是零地址指令,这样的话指令形式比较紧凑。虽然基于栈结构的虚拟机有上述的一些优点,但是为什么Google不采用基于栈的设计而采用基于寄存器结构设计Dalvik虚拟机呢。我个人觉得这是和Android所搭载的平台以及Google的战略有关的。首先,An

    31、droid所搭载的主要平台为移动终端设备,如今的移动终端设备虽然性能比过去好多了,但是还是无法摆脱CPU处理能力低于桌面PC,存储资源有限的限制,在这样一个平台上使用基于栈的设计,在指令执行时必定会多出一个进栈(PUSH)和出栈(POP)的操作,那一定会影响指令执行的效率,这也是为什么我们在一些手机平台上运行Java程序时感到很慢的原因了。其次从Google对Dalvik虚拟机设计中采用的16个通用寄存器中可以看出Android的发展方向是基于ARM的硬件平台,这也和Google的战略方向相一致。虽然移植性降低了,但是使用二地址和三地址的指令,使得代码执行效率大大提高。另外,Dalvik虚拟机

    32、虽然没有采用现在流行虚拟机技术例如JIT(just in time,及时编译)技术,但是Dalvik虚拟机仍然是一个具有很高性能的虚拟机,在这不得不说一下,Dalvik虚拟机是一个设计相当不错的虚拟机。从Dalvik虚拟机的设计上我们可以看到Google打算用Android系统来冲击手机移动终端设备,想把其提供的服务扩展到移动设备上的战略。 另外,Dalvik虚拟机的设计方面也有其独特的地方。它就是本着能够并发执行多个虚拟机的设计思路来编写的。每一个Dalvik虚拟机实例对应于一个应用程序,同时这个虚拟机实例还都是一个进程空间。换句话说就是一个应用对应一个Dalvik虚拟机同时对应一个进程空间。不同的应用程序在不同的Dalvik虚拟机实例中运行,不同的Dalvik虚拟机又对应于不同的进程空间,加之不同的应用程序在Linux内核中以不同的Linux用户来执行,这样可以最大限度的保证应用程度的独立性和安全性。但Dalvik虚拟机要实现如线程机制,内存的分配和管理等操作的话,仍然需要底层操作系统的支持。另外Dalvik虚拟机线程机制中的一个线程对应于Linux中相应的一个线程,这样操作系统中的


    注意事项

    本文(毕业设计android论文范本.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开