基于android的图片管理器设计与实现学士学位论文.docx
《基于android的图片管理器设计与实现学士学位论文.docx》由会员分享,可在线阅读,更多相关《基于android的图片管理器设计与实现学士学位论文.docx(49页珍藏版)》请在冰点文库上搜索。
基于android的图片管理器设计与实现学士学位论文
毕业设计(论文)
基于Android的图片管理器设计与实现
摘要
随着智能手机走进普通人的生活,它将成为人们获取信息的主要设备。
因此,手机的应用服务将会有很大的发展空间,手机图片管理服务就是其中的一项。
Android平台支持各种应用的开发,它是目前最流行的开源智能手机操作系统,最新的版本是android4.2,提供了便捷灵活的开发接口。
本课题在AndroidSDK2.2平台下,设计了一个手机图片管理。
采用了Android平台的Framework层提供的接口,实现了图片预览、图片动态切换、停止播放等功能,支持jpg,bmp,png和gif图片格式,该程序是独立的apk文件,可以安装在android2.2以上的系统内。
它可以让手机成为一个图片管理,用户可以将其放在心仪的地方,来展示美好的图片,而不必再去购买别的设备就能拥有精美的图片管理了。
本文开头首先对图片管理软件的研究背景做了简单介绍,其次简述了现今流行的几个手机开发平台,详细介绍了Android开发平台的架构,并描述了Android开发环境的搭建过程;接下来是对系统设计的介绍,本文从对购书比价系统的分析,到数据库的设计,再到系统客户端的实现都做了详细的解说,并把有些细节和技术提出来做单一的解说;紧接着本文描述了此客户端的图片管理软件的测试过程和如何发布此系统。
。
本设计完成后,能够实现以下功能:
图片的浏览、图片属性的修改、图片的一些基本操作。
关键词:
Android;java;图片管理;
第1章绪论
1.1系统开发背景
如今手机就像钥匙一样,是我们出门必带的物品之一。
随着科技的迅猛发展,现在的手机都是智能手机,它的功能不仅仅只是用来打电话或是收发短信,我们还可以用它听歌看视频、用蓝牙传输数据、玩游戏、上网等等。
据数据资料显示,截至2013年1月我国有8亿手机用户,使用手机上网的用户超过了6亿。
基于android平台手机的发展趋势,本设计以android平台手机为核心制作了一个图片浏览器。
本次设计运用android平台手机作为研究开发对象,配合Java语言程序设计以及面向对象思想设计了一种手机图片浏览器。
本设计完成后,能够实现以下功能:
图片的浏览、图片属性的修改、图片的一些基本操作,一些远程模块的调用、根据不同图片扩展名来实现图片只能的打开,同时给以后的一些实用软件留下了借口、可以实现与手机之间的通讯。
以及电脑之间的共享。
在设计时,按照设计的要求,从可靠性、经济性、安全性三个方面进行考虑,通过设计方案的比较,确定出来一套即经济又可行的方案。
本次设计是对所学知识的综合运用,把理论知识和实践相结合。
在本次设计与检验过程中遇到了许多实际问题,比如android平台手机及其运行环境的选择,不熟悉myeclipse和eclipse软件的使用方法,不熟悉开发技巧,可能会发生一些微小功能不能实现、软件运行不稳定,如何设计软件的最佳外观效果等。
所有的这些问题,我们都通过查阅资料,咨询老师一一解决了,为设计的成功提供了保障。
本文通过方案确认,介绍了设计中所用到的技术、开发思想,以及android平台的简介,通过清晰的程序流程图,给程序的理解提供了方向。
还介绍了程序调试软件和硬件调试软件,最后对本设计的软件做了一个概述。
1.2国内外研究现状
图片管理软件顾名思义,则是用户用于管理图片的软件。
目前国内外电子相册繁多,不同的软件,图片管理方式都会有不同。
随着数码相机在家庭中越来越普及,人们在可以更方便的拍摄照片却又不需要把拍摄的照片都冲印的时候,更多就选择了打包保存在电脑或光盘中,图片管理软件就在这一过程中充当了非常重要的作用。
通过图片管理软件,我们的照片可以更加动态、更加多姿多彩的展现,通过电子相册制作软件的打包,相片可以更方便的以一个整体分发给亲朋好友,刻录在光盘上保存,或在影碟机上播放。
COOZINE(XBOOKSKY)
COOZINE基于Flash技术,是实现在线和离线、电子图书的核心,它应用在需要从PDF文件或JPEG文件源制作的电子杂志的情况,它同时提供一些协助处理工具软件,方便批量的处理,而且帮助文档较详细,还提供了演示下载包,可以稍作修改即可。
COOZINE与目前的几类电子杂志软件不同,它把阅读以及低成本批量制作作为首要追求目标。
每一本COOZINE电子杂志(电子图书)由COOZINE、JPEG图片和XML文件3部分组成。
PortableScribus1.3.5.0
PortableScribus是一款类似AdobePagemaker的开源图片管理制作软件,可以用来制作个人文件、邮件列表、电子杂志类型的电子文档。
它体积很小,可以放在U盘里,只需插入相应的电脑就可以使用。
Premiere
软件特点:
premiere是一款专业级具有高级的编辑功能的图片管理制作软件,对于专业用户,它可以通过不断增加插件,和用户的专业水平进行复杂的编辑,制作出专业的绚丽相册,但由于面向专业用户,软件的操作十分复杂,上手时间很长,非专业用户使用有非常大的难度。
1.3本文的主要工作
Android图片管理系统有效地解决了大量图片管理问题,系统开发时分为前端页面设计开发和后台业务实现开发。
本文开头首先对图片管理软件的研究背景做了简单介绍,其次简述了现今流行的几个手机开发平台,详细介绍了Android开发平台的架构,并描述了Android开发环境的搭建过程;接下来是对系统设计的介绍,本文从对图片管理器功能模块的分析,到android系统服务的调用的设计,再到系统客户端的实现都做了详细的解说,并把有些细节和技术提出来做单一的解说;紧接着本文描述了此客户端的图片管理软件的测试过程和此系统特色功能。
本设计完成后,能够实现以下功能:
图片的浏览、图片属性的修改、图片的增删改等具体操作。
1.4本文的组织结构
第二章需求分析,首先描述图片管理系统的总体业务流程,然后介绍该图片管理器的设计目的和解决的用户实际使用面临问题。
最后将软件需求分为软件功能性与非功能性需求进行汇总。
第三章系统概要设计,主要是基于android系统架构与MVC软件架构进行设计。
概要设计包括物理层设计与逻辑架构层的设计。
第四章系统详细设计,本章主要进行系统建模设计。
在系统建模部分,从静态结构和动态结构两个方面讨论了系统建模的设计。
第五章系统的实现与测试,首先对图片管理器基本操作如何实现进行描述,并通过系统代码截图和软件功能截图进一步说明。
在本章的最后又对系统的测试情况进行了说明。
第2章需求分析
2.1总体业务描述
本章需求分析为了下文的详细设计和系统实现想打下基础,旨在于提高软件开发过程中的能见度,便于对软件开发过程中的控制与管理,同时提出了本软件开发过程,便于开发人员与客户之间的交流、协作,并作为工作成果的原始依据,同时也表明了本软件的共性,以期能够获得更大范围的应用。
在android系统在手机平台风靡的同时,图片管理器在系统中越来越普及,人们通过图片管理软件对图片进行图片管理,既方便了用户,又为传统图片管理带来了革新的契机。
现今android操作系统逐渐成熟,尤其是伴随着各大手机厂商如三星(Samsung),多普达(HTC)出款的多款android手机大热。
人们不仅要求采用手机连接PC进行图片管理,更加盼望在手机操作系统上实现快捷方便的图片管理。
随之带来的是android手机给功能强大,使用简单快捷,拥有良好操作界面的手机图片管理系统的具体需求。
系统基于android系统进行二次开发,考虑到android的基于Linux本质,开发语言选择使用成熟的高级语言Java。
在pc端windows平台下使用AndroidSDK自带移动模拟器开发调试,生成软件包,在手机端安装apk来达到最终系统运行的目标。
利用eclipse开发的android应用程序,能够与安装有android操作系统的手机硬件相联系,快速便捷的访问手机SD卡和本机内存中各个类型图片。
有条理的将手机图片与系统中划分的图片类型集合相对应,比如系统中分为图片集合,音乐集合等,通过窗口集合的方式显示各个对象和不同类型图片的对应关系。
系统层次清楚,模块独立。
根据软件低耦合的指导思想,将系统分为界面层,数据层,存储层等。
采用此软件架构,满足了用户的同时访问和android系统并发调用。
能够支持多种图片格式,可是标准主流常见的图片格式,也可以满足特定格式需求。
系统留有软件识别的图片格式的接口,能够能够方便的增加在开始之后确定的图片格式和特殊需求。
系统具有能有完美调用android服务的接口,支持在使用开发过程中新需求带来的处理新对象所对应的android服务。
数据的流向具有双向性。
软件将本机或sd卡的图片数据进行处理,汇总之后上床到界面端,呈现在用户面前。
软件将用户操作具体实现到本机或sd卡中,根据用户操作进行图片的更新,良好快速实现上层软件对底层硬件设备的数据管理。
2.2系统目标和需要解决的问题
随着信息的高速发展手机已变的越来越普及尤其是智能手机,基于Android操作系统的手机就是在这样的趋势下逐渐一步步的走入我们的生活,因此,我们选择这样的研究课题最主要的一点是看在它的潜在市场价值,通过开发基于Android的图片浏览器,能给广大Android用户提供一个安全的,功能强大的,易于操作的,便于管理的高性能管理器。
安卓手机基本都会去安装图片浏览器,尤其是ES图片管理器、RE图片管理器、安卓优化大师用的最为常见,根据需求分析可见,用户将通常对图片管理的要求就是美观度、操作性、功能是否全面。
系统需要解决的问题主要包括:
2.图片管理中各个方面的功能不同,需要在满足1.图片管理的主要使用者是广大手机用户,手机用户不同的需求多而各式各样,软件怎样提供最为方便,最能提供有效服务,最能满足大量用户共同需求的功能?
需求的同时,对需求进行具体分析。
图片管理业务流程复杂,需要在android系统的基础上,完成在sd卡和本机图片管理,系统如何在处理用户图片操作的同时,实现与系统的兼容和交互,又能体现出软件的特色和功能。
3.与手机系统交互时,获取的图片信息复杂且没有分类,同时用户的操作也是不尽相同。
随着用户使用手机的变长,图片的数量和类型伴随着增多,手机存储容量进一步减少,需要对图片进行实时的管理,将大量图片的实时信息上传到UI界面。
4.最大程度的减少用户误操作和实现对系统关键图片的保护,在管理过程中如何做到软件的可靠运行,操作的安全和图片的完整,并且需要对管理进行记录,来达到图片的恢复。
5.软件的UI端作为大量图片的显示端,汇总较多数量和不同类型的图片,如何叫系统以最快的速度对数据进行有效整合,并且以简单明了的图形化和树状结构显示在UI。
6.系统采用统一管理方式,即在应用程序列表中会显示系统中全部软件信息。
其中系统必须组件和用户自行安装软件相互混杂,一般用户很难讲其中的软件区分开来,这就对用户的软件管理带来不便。
本系统的开发就是为了解决以上这个问题。
本系统的设计是专门针对Android设备用户的日常软件,具体提出以下实现目标:
1.大量图片或者图片夹的基本操作,比如复制、粘贴、剪切、新建图片夹、删除等典型操作
2.支持多标签页改变图片列表或者图标的显示方式。
3.支持图片拖延功能图片或者图片夹多选功能。
4.添加APK的Android安装包管理,包含软件安装,卸载,备份,查看详细信息等
5.收藏夹功能类似于书签,可以创建多个库并把图片添加到库里面,方便对图片进行管理和分类。
6.在界面和操作上有很独到而人性化的设计。
界面简洁精美,功能强大全面,智能的图片分类浏览,独有的网格化界面浏览设计让用户在手机上体验到PC一样的方便性。
7.让用户在手机本地图片和sd卡图片管理之间实现最平滑的操作体验。
8.在root权限下,使用比系统自带管理器更容易,界面和操作流程更加优秀。
在统一浏览屏幕下,浏览、传输、复制、剪切、删除、重命名图片和图片夹等图片操作比较快速。
2.3系统需求分析
需求分析目的是规范化本软件的编写,旨在于提高软件开发过程中的能见度,便于对软件开发过程中的控制与管理,同时提出了本软件开发过程,便于开发人员与客户之间的交流、协作,并作为工作成果的原始依据,同时也表明了本软件的共性,以期能够获得更大范围的应用。
在需求分析中,需求获取为了实现目标系统,需要大量时间和用户沟通,研发人员搭建良好的沟通环境,和用户高度合作。
身为研发人员,必须将用户的表面需求抽象为模型,这样才能彻底理解需求,建立良好的沟通桥梁,帮助研发人员深刻了解业务模型,并且将系统如何帮助用户简化操作,提高图片管理水平,带来方便。
本文所开发的基于android的图片管理系统是一款安装在主流android手机上,集图片分类,图片管理,权限获取,图片统计于一体。
通过android开源的优势,保证软件能够识别外接存储卡和本机内存;同时,手机软件的特殊性需要图片管理系统采取一定的安全机制,保护用户的隐私。
本软件能为用户提供最基本的图片浏览,相关图片调用:
例如图片相关路径的设置、路径的更改,可以最大限度的体现图片浏览器的最基本的功能,使图片浏览器的性能在目前配置下最大程度的提升。
Android手机用户首先打开软件,进入系统主界面,手机软件请求获得root权限,并初始化显示界面,显示各个不同类型图片的各项基本信息,同时对sd卡进行初始化,获得sd卡具体容量信息,初始化完成后,用户对图片进行诸如查看,移动,删除等基本操作,在此基本操作功能上,系统调用各个软件对不同图片进行不同调用,如打开图片,浏览图片等。
用户在使用完上述图片管理功能之后,用户退出软件,系统释放掉占用的root权限。
系统整体流程如图1-1所示:
图2-1Android图片管理系统整体流程图
Figure2-1Androidfilemanagementoverallsystemflowchart
1.图片分类
基于用户对图片方便的具体需求,系统对图片进行分类,分类的标准按照android系统所识别的几大图片类型,分别按照不同的图片类型遍历sd卡和本机存储空间,获得此类型的图片列表,最后在图片浏览界面按照系统设定,以网格化的形式将图片数量和类型显示在用户面前,通过高效率的软件功能,在最短的时间,将大量的图片按照合适的分类,按用户的具体需求,向用户提供图片分类浏览,达到设计目标。
2.图片管理
(1)需求建模
研发人员通过对android系统的研究和对广大用户的需求分析进行实际调查,与用户深入交流,根据多方面获得的需求信息建立诸如用例图,时序图,流程图等模型,与用户需求建立可视化的桥梁,将信息双向透明的展现在用户和研发人员之间。
需求建模对软件开发起到的全局性的促进作用,针对本文所研发的基于android的图片管理系统,需求分析在软件生命周期中占有非常重要的位置。
本文从系统的功能性需求和非功能性需求两方面进行分析。
(1)系统功能性需求
1)系统总体功能分析
在需求过程中,调研人员采用用例图描述系统的各个单元模块,通过对图片管理软件的参与者和用例之间的关系描述,将系统的静态结构以可视化的方式提供给研发人员作为参考。
图片分类运行在android操作系统中,图片管理软件调用权限获取模块申请获取root权限,为用户提供图片管理的基础。
图片管理系统获取权限的同时,调用生成列表模块遍历手机内存和SD卡中图片,生成列表。
在生成列表的基础上,软件对图片进行分类,调用界面模块,将图片展示在软件前端。
用户在软件的前端显示基础上,查看图片,选择需要操作的图片,对图片进行查看,删除,重命名和图片拖拽操作。
系统总体用例图和流程图如下:
图2-2Android图片管理系统
总体用例图
Figure2-2Androidfilemanagementsystemgeneralusecasediagram
2)图片分类管理
进入图片分类的首页面,系统可以浏览系统所划分的类型下的所有图片,不同的图片类型展示不同的图片图标,如果是常用的图片类型,则展示相应的图片或者图标。
分别列出了当前类别和属于该类别的图片数量(比如手机中所有音乐,视频之类的图片数量),当系统点击其中一个类别的时候,会在第2个页面展示当前页面的信息。
系统所划分的图片类型有音乐,视频,图片,软件,文本图片,压缩包等,另外,根据用户的特殊需求,图片分类提供收藏分类界面,为用户提供图片收藏功能,方便用户查找。
系统具体用例图如下图:
图2-3Android图片分类用例图
Figure2-3Androidfilemanagementgeneralusecasediagram
3)图片管理
系统可以选择复制,移动,删除,重命名,收藏这些操作,当系统选择一个条目并执行如图的操作的时候它的名字就会变成蓝色,出现晃动提示。
当系统选择移动或者复制的时候,,这时系统可以选择图片夹,点击确定按钮进行复制,移动操作.在图片管理的过程中同时伴有着界面切换,开机自启动功能,图标常驻通知栏等具体用例。
具体用例图如下:
图2-3Android图片管理用例图
Figure2-3Androidfilemanagementgeneralusecasediagram
图片管理过程中,需要注意的是用户权限的获取,为保护系统核心图片,在未获得root权限的情况下,不允许对图片进行操作,具体流程如下图:
(2)系统非功能性需求
Android图片管理系统面向用户功能明确,并且由于是基于android系统手机嵌入式软件,所以满足图片管理主要功能的同时,还需要满足一些非功能性需求。
非功能性需求在以往的软件开发中经常被研发人员忽视,导致非功能性需求得不到保障,进而致使保障不了功能性需求的定义和实现。
为了更好的实现图片管理系统的带给用户的价值,基于提高软件质量和遵守
Android软件设计的主流标准和规范的考虑,图片管理系统非功能性需求有以下几个方面:
1.界面设计需求:
此处的界面设计需求不同于详细的界面的设计,主要体现的是用户在手机上使用图片管理软件的体验感觉。
作为手机应用,应该注重软件界面设计的美观,简单,大方。
由于图片类型的较多,不同图片类型模块间的切换要求平滑实现。
界面主题颜色采用醒目亮色。
调用android操作系统的控件时充分考虑系统对控件的支持是否良好和使用范围是否超出软件需求。
2.执行需求:
执行需求要充分考虑当前主流手机的硬件配置,要求图片管理软件精确完成图片操作和完成功能时间在用户可接受的范围之内。
软件在响应用户的图片操作时,对初始化界面显示图片列表的速度,完成诸如图片移动,删除,重命名等操作的精确性,完成操作后更新列表的时间,验证root权限的准确度等。
3.易用性需求:
在满足用户功能的需求的同时,软件最终提供给用户的功能的调用要符合用户使用手机软件的习惯操作和对软件的前期期望值。
系统需求分析中心围绕的用户的使用习惯展开,细分用户习惯和需求,和软件应用功能相结合,最终达到用户可以更快的操作软件。
4.适应性需求:
适应性需求主要包括图片管理软件对手机软件环境和硬件环境的适应。
系统适应的软件环境主要是适应手机android操作系统,软件适合于android1.0以上的所有版本的系统,可以调用android相应的服务和android自带的控件;系统适应的硬件环境主要是识别手机内存和自带的SD卡,软件安装后占有极少的手机空间前提下,提供完整的图片管理功能。
5.扩展性需求:
系统采用开源代码java,基于android系统开源的特性,在现有的成熟的软件框架之下,可以调用系统留有的二次接口进行后续的软件功能扩展,定期维护和系统升级
6.安全性需求:
系统面对的手机图片含有大量私人重要信息,如自拍图片,系统截图等,同时,用户可以查看系统图片,若用户对个人重要图片和系统关键图片进行了不当误操作,后果不堪设想。
为此,针对系统关键图片误操作,系统提供了关键性图片保护功能,对系统图片采取验证root权限的验证,针对个人重要信息图片,系统应当提供提示框的方式提示用户,并考虑采用支持可恢复性处理。
总之,在注重功能实现的同时,将软件功能面向的图片对象有条件的限制在特定图片范围之内。
第3章系统设计
3.1系统概要设计
根据长期软件开发经验,软件架构是手机软件系统开发面临的主要矛盾,基于成熟的软件架构,才能设计出优秀的手机系统。
良好的软件架构能够有力的支持和促进系统的设计与实现,主要包括组织设计模块,定义手机系统的与底层android库的接口,模块之间的调用和协作,主系统涵盖的各个子系统模块的组成,当前系统架构风格和用户具体界面需求等方面。
信息交互。
系统详细设计两个具体模块:
手机客户端软件系统针对手机用户的需求特点,采用了android手机客户端技术,使用基于MVC的多层架构设计,加以图形化界面调用android系统库中插件,为方便用户不定期的对图片进行管理,系统软件运行在手机的android平台上。
客户端图片管理软件采用动态刷新,使用android系统多线程技术,实现对不同类型不同位置的所有图片的管理,
根据上一章节的功能性和非功能性需求分析可知,系统需要将图片的类型,图片数量等信息汇总到前端界面显示的同时,还需要对手机存储空间中的图片进行遍历更新。
系统设计成两大核心模块:
图片分类模块和图片管理模块。
软件架构针对用户的具体需求和系统面向的图片管理,采用面向对象的编程思想,参考基于JAVA的MVC各个层次架构特点,调用android系统库和控件,来完成系统主要功能。
系统的层次的特点是以手机存储空间内的图片集合为核心,根据用户,将不同的功能划分为多个模块。
图片分类模块采用设计的前端界面进行区分式显示,体现不同的业务模型。
图片管理模块调用控件和服务,对图片进行相应的操作。
3.1.1系统物理架构设计
系统的物理架构基于android手机存储设备,核心围绕手机存储设备上的各类图片展开,为手机用户提供具体的图片管理功能。
用户通过基于android的客户端架构,使用系统访问手机存储设备,手机用户,用户使用软件相应功能对图片进行操作,通过android操作系统服务与内存和SD卡上图片进行交互。
图片管理系统物理拓扑结构如下图所示所示:
图3-1图片管理系统物理拓扑结构图
Figure3-1Filemanagementsystemmapforphysicaltopologystructure
图片管理系统设计时采用了基于android系统开源的性质,只要满足系统识别图片的范畴,用户在不同的android手机上都可以使用,同时,google公司开放了底层系统库,系统可以以程序接口的方式实现良好调用,所以图片管理系统设计平台采用了android操作系统。
3.1.2系统逻辑架构设计
分层是软件设计中非常重要的思想,特别是面对较大的软件系统。
分而治之是计算机中经常采用的一种方法。
因此按照软件工程分层考虑的理论,我们对此系统进行分层设计。
天元物联路灯管理系统按照MVC的设计模式将系统划分为界面层、业务层、协议层、数据库层四个层次。
此系统采用模块化设计,方便其他开发语言的绑定。
在系统结构中,每个逻辑层向上层提供程序接口,供给上层调用完成相应功能。
系统逻辑结构如图3-2所示:
面对数据处理量较大,设计规模较大的软件系统,软件层次清晰是基本要求。
软件架构分层是系统设计中广泛采用的方法。
为了实现软件层次清晰的要求,对图片管理系统的各个模块划分层次。
按照MVC模式开发应用层的手机程序分为界面层,业务层,服务层,通过组件的重用降低模块之间的耦合,图片管理系统的逻辑结构如下图所示:
图3-2图片管理系统逻辑