登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 文献综述 > 电子信息类 > 通信工程 > 正文

基于KitKat系统的天气应用的开发文献综述

 2020-06-03 21:52:09  

文 献 综 述

一、研究背景及意义

安卓(Android)是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用”安卓”或”安致”。Android操作系统最初由Andy Rubin开发,主要支持手机。2005年8月由Google收购注资。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。随后Google以Apache开源许可证的授权方式,发布了Android的源代码。第一部Android智能手机发布于2008年10月。Android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机等。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。 2013年的第四季度,Android平台手机的全球市场份额已经达到78.1%。2013年09月24日谷歌开发的操作系统Android在迎来了5岁生日,全世界采用这款系统的设备数量已经达到10亿台。

Android操作系统使用开放免费代码许可证,一切代码为公开免费的。Google将Android的大部分以Apache开源条款2.0发布,剩下的Linux内核部分则继承GPLv2许可,[37][38][39][40]AOSP包括了智能手机网络和电话协议栈等智能手机所必需的功能。Google也不断发布问卷和开放修改清单、更新情况和代码来让任何人看到并且提出他们的意见和评论,以便按照用户的要求改进Android操作系统。Android操作系统是完全免费开源的,任何厂商都不须经过Google和开放手持设备联盟的授权随意使用Android操作系统;但是制造商不能在未授权下在产品上使用Google的标志和应用程序,例如Google Play等。除非Google证明其生产的产品设备匹配Google兼容性定义文件(CDD),这才能在智能手机上预装Google Play Store、Gmail等Google的私有应用程序,并且获得CDD,此外,智能手机厂商也可以在其生产的智能手机上印上”With Google”的标志。

二、安卓系统的特点

显示布局:Android操作系统支持更大的分辨率,VGA,2D显示,3D显示都给予OpenGL ES 3.0标准规格(4.3版本开始支持OpenGL ES 3.0),并且支持传统的智能手机。

数据存储:Android操作系统内置SQLite小型关联式资料库管理系统来负责存储数据。

网络:Android操作系统支持所有的网络制式,包括GSM/EDGE、IDEN、CDMA、TD-SCDMA 、EV-DO、UMTS、Bluetooth、Wi-Fi、LTE、NFC和WiMAX。

信息:作为原设计给智能手机使用的操作系统,Android操作系统原生支持短信和邮件,并且支持所有的云信息和服务器信息。

语言:Android操作系统支持多语言。

浏览器:Android操作系统中内置的网页浏览器基于WebKit核心,并且采用了Chrome V8引擎。在Android 4.0内置的浏览器测试中,HTML5和Acid3故障处理中均获得了满分,并且于2.2版至4.0版之前能原生支持Flash,4.0版本后去除对Flash的支持。

虽然Android操作系统中的应用程序大部分都是由Java编写的,但是Android却是以转换为Dalvik executables的文件在Dalvik虚拟机上运行的。由于Android中并不自带Java虚拟机,因此无法直接运行Java程序。不过Android平台上提供了多个Java虚拟机供用户下载使用,安装了Java虚拟机的Android系统可以运行Java_ME的程序。5.0版(Lolipop)开始以Android Runtime(ART)替换Dalvik虚拟机。

媒体:支持Android操作系统本身支持以下格式的音频/视频/图片媒体:WebM、H.263, H.264(in 3GP or MP4 container)、MPEG-4 SP、AMR, AMR-WB(in 3GP container)、AAC, HE-AAC(in MP4 or 3GP container)、MP3、MIDI、Ogg Vorbis、FLAC、WAV、JPEG、PNG、GIF、BMP。如果用户需要播放更多格式的媒体,可以安装其他第三方应用程序。

流媒体支持:Android操作系统支持RTP/RTSP(3GPP PSS, ISMA)的流媒体以及(HTML5 )的流媒体,同时还支持Adobe的Flash,在安装了RealPlayer之后,还支持苹果公司的流媒体。

硬件支持:Android操作系统支持识别并且使用视频/照片摄像镜头,多点电容/电阻触屏,GPS,加速计,陀螺仪,气压计,磁力仪(高斯计),键盘,鼠标,USB Disk,专用的游戏控制器,体感控制器,游戏手把,蓝牙设备,无线设备,感应和压力感测器,温度计,加速2D位位块传输(硬件方向,缩放,像素格式转换)和3D图形加速。

三、安卓APP的开发

在早期的Android应用程序开发中,通常通过在Android SDK(Android软件开发包)中使用Java作为编程语言来开发应用程序。开发者亦可以通过在Android NDK(Android Native开发包)中使用C语言或者C 语言来作为编程语言开发应用程序。同时Google还推出了适合初学者编程使用的Simple语言,该语言类似微软公司的Visual Basic语言。此外,Google还推出了Google App Inventor开发工具,该开发工具可以快速地构建应用程序,方便新手开发者。

2013年10月31日,Google发布Android 4.4(奇巧Kitkat)。Android 4.4是目前市场占有量最高的程序。

四、安卓APP开发框架

MVC全名是Model View Controller,是模型-视图-控制器的缩写,一种软件

设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到

一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。

其中M层处理数据,业务逻辑等;V层处理界面的显示结果;C层起到桥梁的作用,来

控制V层和M层通信以此来达到分离视图显示和业务逻辑层。

MVC 模式的应用程序的目的就是希望打破以往应用程序使用的大杂烩程序撰写方

式,并间接诱使开发人员以更高的架构导向思维来思考应用程序的设计,因此对于一个

刚入门的初学者来说,架构导向的思考会有一定的门槛,需要较多的实现与练习才能具

备相应的能力,大多数的初学者还是较习惯于大杂烩式的程序撰写,所以可能会对 MVC

模式抱持着排斥或厌恶的心态,然而 MVC (或是其他的Design Patterns) 都是有助于

应用程序长远的发展,虽然大杂烩式的程序也可以用来发展长生命周期的应用程序,但

是相较于 MVC,大杂烩式的程序在可扩充性和可维护性 (尤其是可测试性) 上会远比

MVC 复杂很多,相反的,MVC 模式的应用程序是在初始开发时期必须先思考并使用软件

架构,使得开发时期会需要花较多心力,但是一旦应用程序完成后,可扩充性、可维护性和可测试性反而会因为 MVC 的特性而变得容易。

MVC for Android:在Android开发中,比较流行的开发框架模式采用的是MVC框

架模式,采用MVC模式的好处是便于UI界面部分的显示和业务逻辑,数据处理分开。

那么Android项目中哪些代码来充当M,V,C角色呢?

M层:适合做一些业务逻辑处理,比如数据库存取操作,网络操作,复杂的算法,

耗时的任务等都在model层处理。

V层:应用层中处理数据显示的部分,XML布局可以视为V层,显示Model层的数据结果。

C层:在Android中,Activity处理用户交互问题,因此可以认为Activity是控制器,Activity读取V视图层的数据(eg.读取当前EditText控件的数据),控制用户输入(eg.EditText控件数据的输入),并向Model发送数据请求(eg.发起网络请求等)。

MVC的优点:

1) 耦合性低。所谓耦合性就是模块代码之间的关联程度。利用MVC框架使得View(视图)层和Model(模型)层可以很好的分离,这样就达到了解耦的目的,所以耦合性低,减少模块代码之间的相互影响。

2) 可扩展性好。由于耦合性低,添加需求,扩展代码就可以减少修改之前的代码,降低bug的出现率。

3) 模块职责划分明确。主要划分层M,V,C三个模块,利于代码的维护。

参考文献:

[1] 李刚. 疯狂 Android 讲义[M]. 北京:电子工业出版社,2013:25-42.

[2] 杨丰盛. Android 技术内幕[M]. 北京: 机械工业出版社,2011:77-89.

[3] 杨云君. Android 的设计与实现[M]. 北京:机械工业出版社,2013:45-49.

[4] 柯元旦. Android 内核剖析[M]. 北京:电子工业出版社,2011:59-70.

[5] 丰生强. Android 软件安全与逆向分析[M]. 北京:人民邮电出版社,2013:78-90.

[6] 余成锋,李代平,毛永华. Android3.0 内存管理机制分析[M]. 北京:人民邮电出版社,2013:55-80.

[7] 佐冰冰. Android 平台下 Launcher 启动器的设计与实现[D]. 哈尔滨:哈尔滨工业大学,2012:108-150.

[8] 杜吉志,徐明昆. Android 系统内存管理研究及优化[J]. 软件,2012,24(5):69-80.

[9] 马越. Android 的架构与应用[D]. 北京:中国地质大学,2008:330-357.

[10] 姚昱旻,刘卫国. Android 的架构与应用开发研究[J]. 计算机系统应用,2008,77(11):99-111.

[11] 高巍. Android 操作系统软件自动化测试方案的设计与实施[D]. 北京:北京邮电大学,2012:440-479.

[12] 孙剑. Android 系统上应用程序按需加载机制的设计与实现[M]. 北京:北京大学,2011:99-110.

[13] 卢娜. 基于 Android 平台的手机桌面资讯系统的设计与实现[M].西安:西安电子科技大学,2011:290-300.

[14] 高峰. Linux 内存管理的设计与实现[D].沈阳:沈阳工业大学,2007:45-89

[15] 陈最. 基于 Android 平台移动终端透明加密系统的研究与实现[D].重庆:重庆理工大学,2012:108-150.

[16]A.Freier,P.Karlton,and P.Kocher.The Secure Sockets Layer (SSL)

Protocol Version3.0. RFC6101(Historic),August 2011.

[17]MoxieMarlinspike.Newtricksfordefeatingsslinpractice.Blackhat2009,2009.

剩余内容已隐藏,您需要先支付 10元 才能查看该篇文章全部内容!立即支付

企业微信

Copyright © 2010-2022 毕业论文网 站点地图