基于android的图片阅读器的设计与实现计算机学士学位论文.docx
- 文档编号:30187137
- 上传时间:2023-08-05
- 格式:DOCX
- 页数:78
- 大小:2.22MB
基于android的图片阅读器的设计与实现计算机学士学位论文.docx
《基于android的图片阅读器的设计与实现计算机学士学位论文.docx》由会员分享,可在线阅读,更多相关《基于android的图片阅读器的设计与实现计算机学士学位论文.docx(78页珍藏版)》请在冰豆网上搜索。
基于android的图片阅读器的设计与实现计算机学士学位论文
基于Android的图片阅读器的设计与实现
摘要
随着4G时代的到来以及公共场所WiFi越来越普及,以网络通信为主流功能的移动终端设备包括智能手机已经随处可见,而Android系统作为最流行、开放性最强的手机操作系统给用户带来了新的应用体验,也给移动软件开发者带来了新的发展机会,以Android为平台的应用程序软件越来越多。
本文即是依靠Android有关的技术来进行开发和研究。
本系统使用JAVA和AndroidSDK(SoftwareDevelopmentKit)开发,其中AndroidSDK主要是以Java语言为基础,包含了在Android平台上开发移动应用的各种工具集。
用户可以使用Java语言来开发Android平台上的软件应用。
采用Eclipse+ADT(AndroidDevelopmentTools)作为开发工具,在Android手机模拟器和Android手机真机上测试运行。
该图片阅读器的设计使用了模块化的方法,同一模块实现了高内聚,不同模块之间实现了低耦合。
把整个系统划分为不同的功能模块,安装不同的功能模块,进行详细设计,然后进行编码开发。
该图像阅读器的设计和实现,在模拟器的实验中,取得了比较不错的结果,各方面性能表现良好。
较好的实现了对SD卡上的图片进行扫描显示;在放缩图片、旋转图片、删除图片以及图片详细信息的获取等方面取得了不小的进步。
这些都表明本文的工作是有意义的。
关键词:
图片阅读器;Android手机;JAVA;Eclipse+ADT
BasedontheAndroidtheDesignandImplementation
ofthePictureRead
Abstract
Withtheadventoftheeraof4gandWiFiinpublicplacesismoreandmorepopular,withfunctionofnetworkcommunicationforthemainstreammobiledevicesincludingsmartphoneshaveeverywhere,theAndroidsystemasthemostpopularmobileoperatingsystem,openthestrongestbroughtnewapplicationtotheuserexperience,andalsobroughtnewdevelopmentopportunitiesformobilesoftwaredevelopers,moreandmoreapplicationsoftwarebasedonAndroidplatform.ThisarticleistorelyonAndroidforstudyingthedevelopmentandrelatedtechnology.
ThissystemusesJAVAandAndroidSDK(SoftwareDevelopmentKit)Development,includingtheAndroidSDKismainlybasedonJAVAlanguage,includesamobileapplicationontheAndroidplatformDevelopmentsetoftools.UserscanusetheJavalanguagetodevelopsoftwareapplicationsontheAndroidplatform.UsingtheEclipseADT+(AndroidDevelopmentTools)asaDevelopmenttool,theAndroidemulatorwithAndroidmobilephonerealmachinetestrun.TheimagereaderdesignUSESthemodularapproach,thesamemoduleimplementsthehighcohesion,realizedthelowcouplingbetweendifferentmodules.Thewholesystemisdividedintodifferentfunctionalmodules,theinstallationofdifferentfunctionmodules,detaileddesign,codinganddevelopment.
Designandtheimplementationoftheimageofthereader,inasimulatorexperiment,hasachievedfairlygoodresults,goodperformanceinallrespects.BetterimplementthescannedpictureofSDcard;Inscale,rotatingpictures,deletepicturesandimagesdetailedinformationretrievalhasmadebigprogress.Allthissuggeststhattheworkofthispaperismeaningful.
Keyword:
Picturereader;AndroidPhone;JAVA;Eclipse+ADT
1绪论
智能手机应用软件是近年来十分活跃的技术研究领域,是一系列高新技术的汇集,往往指以移动互联网为传输媒介,以运营商服务器和用户计算机为处理终端,以手机应用软件为信息交互窗口的旨在实现娱乐、休闲、交流和取得虚拟成就的具有可持续性的应用软件这些技术包括计算机图形学、多媒体技术、人工智能、人机接口技术、传感技术以及高度并行的实时计算技术,还包括人的行为学研究等多项关键技术。
除此之外特别是个人版的智能手机应用软件,如图片阅读器软件,是个简单的应用软件,但却能给人以重大帮助,让我们从繁锁的图片中解脱出来.而只有我们的身心得到了解脱才能更好的投入到新的工作.现在的人,不管是已经工作的,还是还未进入社会的学生,都喜欢在吃饭前对美食拍照、旅游时对大自然瑰丽的风景拍照还有随时随地的自拍,面对大量照片需要整理有着很大的厌倦,而这样一款能让我们方便整理照片的应用软件,其魅力还是不可估量的。
1.1课题的研究背景
Google在2007年11月正式推出,基于Linux的Android移动终端操作系统,从那时起Android平台越来越受人们所关注,由于Android是一个真正开放开源的平台,故而开发者都可以使用Android平台开发程序,使得其平台上应用软件与日剧增。
除了Android自身内嵌的应用之外,也有一些其他应用软件,伴随着4G时代的来临,无线宽带网络覆盖越来越广,无线上网速度也越来越快,智能手机的主流功能正逐渐转变为以网络通信为主,用户也更倾向于手机应用的体验。
为了满足用户在Android上浏览本地图片的需求,也结合上述的一系列分析和研究,本人决定开发一个基于Android平台的图片阅读器的应用客户端软件。
1.2课题的研究意义
目前市场上安卓平台占有率在20%左右,使用安卓手机的人数如此众多,所以在安卓平台上开发手机应用软件是比较有意义的。
借助Android系统的全触摸的形式,用户可以用手指简单的滑动、点击本地图片,能够方便实现对本地图片和SD卡的加载、分类显示、浏览、旋转处理和缩放操作,方便用户对手机本地图片的整理,从而增强用户体验和易用性。
手机应用软件的盈利空间非常大,无论是下载时收取一定费用,还是通过广告盈利都是非常可行的。
手机应用软件的开发与传统PC机的应用软件开发有一定差距,因为手机平台资源有限,所以开发时要处处考虑资源分配问题。
而且,手机已经和现代生活方式紧紧结合在一起,可以说是随身必带品。
所以手机应用软件的盈利面因为手机的覆盖率而变得非常广。
1.3课题设计目标
易于操作性:
既然手机应用软件面向的是普通消费者而不是计算机专家,那么他们不可能深入的学习手机应用软件操作技巧。
手机应用软件操作的简单性是开发过程中必须要遵循的基本特征。
良好的用户界面:
良好的用户界面用户界面更是吸引用户的硬指标。
相关的美术构图、系统实时性和人性化提示也是必须要考虑的。
可中断性:
多任务处理是手机生活方式的基本特征。
手机用户常常在任务(如等一个电子邮件或者等车)之间有一小段时间。
而游戏、通讯和工作数据访问使用的是同一个设备。
所以一个好的手机应用软件应该提供短时间的娱乐功能,并且允许用户在手机应用软件提醒模式和工作模式之间顺利切换。
所以在手机应用软件的服务过程中,如果遇到来电或接受到短信这样的优先级最高的进程,要能够保存手机应用软件进程,保证接完来电或查看短信之后还可以继续正常工作。
所以,在设计过程中,要特别注意这几个方面的功能,使该系统更加完善。
2关键技术平台与理论介绍
2.1ANDROID平台简介和特点
Android操作系统是与WindowsMobile、iPhone等手机操作系统处在同一级别的操作系统,是Google公司在2007年11月发布的基于Linux核心的手机操作系统,是真正开放和开源的移动平台操作系统。
Android是一个包含操作系统、中介架构层及应用程序所产生出来的软件堆栈架构。
由下而上,其核心为嵌入式Linux2.6作业系统,向上搭配Google为Android开发的类库及Android运行时,再配合应用程序架构,来开发各种不同的应用程序。
Android包含的功能非常强大和完善,有很好的应用环境和用户体验,当然也有很多的应用接口,在Android平台上,开发者可以随意开发出各式各样的应用,因而以Android为平台的应用程序越来越多。
Android操作系统是第一个全部包含下列全部特点的平台环境,下列列出的功能只是一些平台具有的部分功能:
(1)Android是一个基于Linux核心和开源的真正完全开放、自由的开发平台,移动手机制造企业当然可以不用像其他操作系统那样,交付Android操作系统的专利费用才能使用和定制Android平台;软件开发者也不用担心Android会突然由于某个厂商的倒闭或被收购而突然消失。
开发者自己就可以设计、整合、扩展甚至可以替换现存的一些组件,Android也没有隐藏或者设置权限的框架API。
因此加入到Android开发社区来共同改善和维护Android的开发者越来越多,在当下成为最为火热的手机操作系统。
也正因为如此,在Android平台上应用程序与日剧增。
(2)Android组件的架构是采用Internetmashups。
最初的时候一个应用程序是不可以被另一个程序用不同的方式使用的;但是后来随着平台不断的发展出现了变化,一个应用程序的可以用不同的方式被另一个程序使用部分功能,这超出了程序员最初的预料。
不同的用户完全可以用自己开发不断改善的版本替换一个已经存在的内嵌组件,这样的结果是解除了在移动手机开发上的开发者创新能力的束缚。
(3)应用程序架构:
在应用程序架构内已经具备多种不同的基础组件,在开发应用程序时,就可以直接调用这些组件来使用,可以节省开发应用程序的心力及时间。
(4)Dalvik虚拟机器:
在Android平台上所使用Java虚拟机,不是Sim公司的标准Java虚拟机,而是使用Google自主开发的代号为Dalvik的虚拟机,它在保证API方面的兼容的同时,针对移动手机进行了大幅优化,占用资源更小,运行效率更高。
(5)Android自身内嵌了大量的应用服务。
集成的浏览器:
集成的浏览器是Android内建的浏览器,是以WebKit的浏览引擎为基础所开发成的。
WedKit是一个开源浏览器网页排版引擎,目前使用WebKit引擎的浏览器主要有:
Safari,Midori,Epiphany等。
配合Android手机的功能,可以在浏览网页时,达到更好的效果,例如:
局部性的缩放网页上的资讯、触控式的操作等效果。
优化的绘图能力:
在程序里可以用到的绘图功能分为2D与3D两个方面。
在2D方面,Android提供了一套特有的类库(SGL;而在3D方面则是使用OpenGLES1.0(openGLforEmbeddedsystems)规范的类库。
它们是一种非常快的图形引擎,并且支持硬件加速。
SQLite数据库:
SQLite提供结构化的数据存取。
SQLite是一款轻型的数据库,它的设计目标是嵌入式的,目前已经在很多嵌入式产品中使用了它,它占用的资源非常低。
它能够支持Windows/Linux/Unix等主流的操作系统,同时能够跟很多程序语言相结合,比如php,Java等,还有ODBC接口,同样比起Mysql,PostgreSQL来讲,它的处理速度比它们都快。
它无需安装和管理配置,它是一个储存在单一磁盘文件中的完整数据库,体积小只有250KB但支持数据库大小至2TB。
它虽然很小巧,但是支持的SQL语句毫不逊色于其它开源数据库。
同时它还支持事务功能和并发处理等等。
SQLite也是一套开放性的关联式资料库,其特点在于轻量性方面的设计结构,更适合在手机上使用。
多媒体的支持能力:
主要用于播放媒体文件。
这同时包括对音频(如播放MP3或其他音乐文件等)和视频(如播放从网上下载的视频)的支持,并支持“播放URI地址”(Note:
URI即是统一资源识别地址)模式—在网络上直接播放的流媒体。
另外支持各种通用的静态图像格式,例如:
JPG、PNG、GIF等格式。
GSM技术:
GlobalSystemforMobileCommunications,即全球移动通讯系统,俗称”全球通”,是一种起源于欧洲的移动通信技术标准,是第二代移动通信技术,其开发目的是让全球各地可以共同使用一个移动电话网络标准,让用户使用一部手机就能行遍全球。
GSM技术是属于手机硬件方面的展现,也是在开发Android应用程序时可以突出的特点之一。
蓝牙、EDGE、3G及Wi-Fi:
蓝牙是一种新型、开放、低成本、短距离的无线连接技术,可取代短距离的电缆,实现话音和数据的无线传输。
EDGE(EnhancedDataRateforGSM,Evolution),即增强型数据速率GSM演进技术。
EDGE是一种从GSM到3G的过渡技术,它主要是在GSM系统中采用了一种新的调制方法,即最先进的多时隙操作和SPSK调制技术。
由于8PSK可将现有GSM网络采用的GMSK调制技术的信号空间从2扩展到8,从而使每个符号所包含的信息是原来的4倍。
Wi-Fi(WirelessFidelity),即无线保真技术,与蓝牙技术一样,同属于在办公室和家庭中使用的短距离无线技术。
该技术使用的是2.4GHz附近的频段,该频段目前尚属没用许可的无线频段。
其目前可使用的标准有两个,分别是IEEE802.lla和IEEE802.11b。
这些通讯能力也是属于手机硬件方面的展现,也是在开发Android应用程序时可以突出的特点之一。
GPS:
GlobalPositioningSystem,即全球定位系统,它是一个由覆盖全球的24颗卫星组成的卫星系统。
这个系统可以保证在任意时刻和任何地点都可以同时观测到4颗卫星,以保证卫星可以采集到该观测点的经纬度和高度,以便实现导航、定位、授时等功能。
这项技术可以用来引导飞机、船舶、车辆以及个人。
这个同样也是属于手机硬体方面的体现,也是在开发Android应用程序是可以突出的特点之一。
(6)操作系统可以自动管理Android应用程序的生命周期,每个应用程序被很多的不同的安全层相互隔离,这样就使得现在的系统稳定性比以前的智能手机更加稳健,终端用户再也不用担心应用程序是否一直活动占用内用,而影响其他应用程序的运行,或者只有关闭一些应用程序才能使得其他的应用程序可以运行。
Android还针对电力供应较弱,持续时间较短、存储容量小的设备专门作了一系列的优化。
(7)可移植性好。
大部分当前和将来的硬件都被覆盖了,因为Android上所有的程序都是用java编写,然后在Android的Dalvik虚拟机上运行,所以用户编写的代码可以移植到ARM、x86和其他架构上。
支持多种输入设备,其中包括键盘、触屏和滚动球,用户接口可以很好的适应各种分辨率和方位。
2.2Android应用的构成和工作机制
对于一个Android应用程序来说,是由Activity、IntentReceiver、Service、ContentProvider四部分组成,但并不是每一个Android应用程序都必须由这四部分组成。
在应用程序中使用时,需要在配置文件AndroidManifest.xml中进行配置。
这个配置文件是每个Android应用程序所必需的,用于定义应用程序的组件、组件的功能以及必要条件等。
Android应用的构成和工作流程如图2-1:
图2-1Android的构成和工作流程
图2-2Android的构成和工作流程
在AndroidSDK中,定义了让开发者使用与核心应用程序相同API的权限应用程序框架是为了要简化组件的重新利用而设计的,应用程序可以发布功能为其它应用程序所使用。
但是,这要受限于应用程序架构的安全机制,使用者以用同样的机制来新增、置换组件。
目前所有的应用程序是由服务及系统来组成,包含有:
(l)一套强大和可扩展的视图系统:
用来建构一个应用程序的基本组件,包了在开发系统画面时,常用的列表、网格、文本框、按钮等控制项,甚至是内嵌的Web浏览器。
(2)内容提供者:
使应用程序可以访问另一个应用程序的数据(如联系人数库),或者共享它们自己的数据。
(3)资源管理器:
提供各种非程序代码的资源让应用程序去使用。
例如:
本字符串、图形文件或排版相关的布局文件。
(4)通知管理器:
提供应用程序在状态栏中显示应用程序自定义的提示信息。
(5)活动管理器:
管理所有应用程序的生命周期及提供常用的导航回退功能。
例如:
启动应用程序要用到的资源准备及关闭应用程序时释放内存及相关资源等工作。
(6)视窗管理器:
用来管理所有启动程序的视窗。
(7)位置管理器:
用来管理地图服务的相关功能。
(8)电话管理器:
用来管理用户拨打与接听电话的相关功能。
(9)包管理器:
管理所有安装在Android系统内的包。
在Android中包含一些C/C++的类库,这些类库能被Android系统中不同的组件来使用。
开发者可以通过应用程序框架使用这些功能。
部分核心类库列表如下:
(1)surfaceManager:
主要的功能是让开发者可以去存取/显示系统及管理的功能,在[显示]与[存取操作]间的对应、互动以及实现无接缝的2D/3D多应用程序之间的整合。
例如:
在2D、2D显示上的合成、叠合动作。
(2)3Dlibraries:
主要是依openGLES1.0规范所定义的3D绘图引擎。
该库使用硬件加速(当硬件可用时),可以将硬件的3D功能做最佳化的处理显示。
(3)SGL:
主要是处理有关显示2D方面的绘图引擎。
(4)MediaFramework:
主要是以packetVideo公司的OpenCORE为基础所发展的多媒体类库,该库支持回放和录制大量流行的音视频格式和静态图片。
例如:
MPEG4、H.264、MP3、AAC、AMR、JPG、PNG、GIF等格式
(5)FreeType:
主要是用来显示点阵图和处理向量字形的。
(6)SSL:
(secureSocketsuyer),中文名为“安全套接层协议层”,它是网景公司提出的基于WEB应用的安全协议,当前版本为3.0。
SSL协议指定了一种在应用程序协议(如HTTP、Telenet、NMTP和FTP等)和TCP/IP协议之间提供数据安全性分层的机制,它为TCP/IP连接提供数据加密、服务器认证、消息完整性以及可选的客户机认证。
它已被广泛地用于Web浏览器与服务器之间的身份认证和加密数据传输。
SSL协议位于TCP胆协议与各种应用层协议之间,为数据通讯提供安全支持。
SSL协议可分为两层:
SSL记录协议(SSLRecordProtocol):
它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。
SSL握手协议(SSLHandshakeprotocol):
它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。
SSL协议提供的服务主要有:
①认证用户和服务器,确保数据发送到正确的客户机和服务器;②加密数据以防止数据中途被窃取;③维护数据的完整性,确保数据在传输过程中不被改变。
(7)SQLite:
SQLite是一套开放性的关联式资料库,能够被所有应用程序使用的轻量级的关系数据库引擎。
(8)webKit:
是一个先进的网页浏览器引擎,被用来构建Android浏览器和内嵌的web视图,也可以让开发者利用这个引擎来做不同的应用。
(9)libc:
就是一个BSD标准C类库。
但是,针对Linux嵌入式装置进行过最佳化的调整。
虽然Android是用Java语言来开发、撰写应用程序,但却不使用Java运行时组件来执行Java程序,而是使用了由Google自行研发的Android运行时组件来执行程序。
Android运行时组件包括两个重要的部分,一个是核心类库,另一个是Dalvik虚拟机。
2.3开发环境的搭建
2.3.1安装并配置JDK6
首先需要的是JDK。
AndroidSDK需要JDK5或更高的版本,我们使用JDK6来开发。
以windows为例,从Sun网站()下载JDK6并安装。
接下来,设置JAVA_HOME环境变量以指向JDK安装文件夹。
右键单击“计算机”选择“属性”,选择“高级系统设置”,然后单击“环境变量”。
单击“新建”添加JAVA_HOME变量,如果该变量已存在,单击“编辑”修改它。
JAVA_HOME的值类似于“C:
\ProgramFiles\Java\jdk1.6.0_16”。
2.3.2安装Eclipse
安装JDK之后,可以从http:
//www.eclipse.org/downloads/下载EclipseIDEforJavaDevelopers。
将下载的.zip的文件解压到任何位置。
首次启动Eclipse时,它将要求为工作区间提供一个位置。
为了简化操作,可以选择一个简单的位置,比如D:
\workspaces。
2.3.3安装并配置AndroidSDK
AndroidSDK是开发android应用程序的基本要求,没有AndroidSDK,android应用开发无从谈起。
AndroidSDK中包含一个模拟器,所以无需带有Android操作系统的移动设备就能开发Android应用程序。
AndroidSDK可以从下载。
AndroidSDK同e
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 android 图片 阅读器 设计 实现 计算机 学士学位 论文
![提示](https://static.bdocx.com/images/bang_tan.gif)