《基于android的图片管理器设计与实现学士学位论文.doc》由会员分享,可在线阅读,更多相关《基于android的图片管理器设计与实现学士学位论文.doc(55页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、毕业设计(论文)基于Android的图片管理器设计与实现摘要随着智能手机走进普通人的生活,它将成为人们获取信息的主要设备。因此,手机的应用服务将会有很大的发展空间,手机图片管理服务就是其中的一项。Android平台支持各种应用的开发,它是目前最流行的开源智能手机操作系统,最新的版本是android4.2,提供了便捷灵活的开发接口。本课题在Android SDK2.2平台下,设计了一个手机图片管理。采用了Android平台的Framework层提供的接口,实现了图片预览、图片动态切换、停止播放等功能,支持jpg,bmp,png和gif图片格式,该程序是独立的apk文件,可以安装在android2
2、.2以上的系统内。它可以让手机成为一个图片管理,用户可以将其放在心仪的地方,来展示美好的图片,而不必再去购买别的设备就能拥有精美的图片管理了。本文开头首先对图片管理软件的研究背景做了简单介绍,其次简述了现今流行的几个手机开发平台,详细介绍了Android开发平台的架构,并描述了Android开发环境的搭建过程;接下来是对系统设计的介绍,本文从对购书比价系统的分析,到数据库的设计,再到系统客户端的实现都做了详细的解说,并把有些细节和技术提出来做单一的解说;紧接着本文描述了此客户端的图片管理软件的测试过程和如何发布此系统。本设计完成后,能够实现以下功能:图片的浏览、图片属性的修改、图片的一些基本操
3、作。关键词:Android ;java;图片管理;I第1章 绪论1.1 系统开发背景如今手机就像钥匙一样,是我们出门必带的物品之一。随着科技的迅猛发展,现在的手机都是智能手机,它的功能不仅仅只是用来打电话或是收发短信,我们还可以用它听歌看视频、用蓝牙传输数据、玩游戏、上网等等。据数据资料显示,截至2013年1月我国有8亿手机用户,使用手机上网的用户超过了6亿。基于android平台手机的发展趋势,本设计以android平台手机为核心制作了一个图片浏览器。本次设计运用android平台手机作为研究开发对象,配合Java语言程序设计以及面向对象思想设计了一种手机图片浏览器。本设计完成后,能够实现以
4、下功能:图片的浏览、图片属性的修改、图片的一些基本操作,一些远程模块的调用、根据不同图片扩展名来实现图片只能的打开,同时给以后的一些实用软件留下了借口、可以实现与手机之间的通讯。以及电脑之间的共享。在设计时,按照设计的要求,从可靠性、经济性、安全性三个方面进行考虑,通过设计方案的比较,确定出来一套即经济又可行的方案。本次设计是对所学知识的综合运用,把理论知识和实践相结合。在本次设计与检验过程中遇到了许多实际问题,比如android平台手机及其运行环境的选择,不熟悉myeclipse和eclipse软件的使用方法,不熟悉开发技巧,可能会发生一些微小功能不能实现、软件运行不稳定,如何设计软件的最佳
5、外观效果等。所有的这些问题,我们都通过查阅资料,咨询老师一一解决了,为设计的成功提供了保障。本文通过方案确认,介绍了设计中所用到的技术、开发思想,以及android平台的简介,通过清晰的程序流程图,给程序的理解提供了方向。还介绍了程序调试软件和硬件调试软件,最后对本设计的软件做了一个概述。1.2 国内外研究现状图片管理软件顾名思义,则是用户用于管理图片的软件。目前国内外电子相册繁多,不同的软件,图片管理方式都会有不同。随着数码相机在家庭中越来越普及,人们在可以更方便的拍摄照片却又不需要把拍摄的照片都冲印的时候,更多就选择了打包保存在电脑或光盘中,图片管理软件就在这一过程中充当了非常重要的作用。
6、通过图片管理软件,我们的照片可以更加动态、更加多姿多彩的展现,通过电子相册制作软件的打包,相片可以更方便的以一个整体分发给亲朋好友,刻录在光盘上保存,或在影碟机上播放。 COOZINE (XBOOKSKY)COOZINE 基于 Flash 技术,是实现在线和离线、电子图书的核心,它应用在需要从 PDF 文件或 JPEG 文件源制作的电子杂志的情况,它同时提供一些协助处理工具软件,方便批量的处理,而且帮助文档较详细,还提供了演示下载包,可以稍作修改即可。COOZINE 与目前的几类电子杂志软件不同,它把阅读以及低成本批量制作作为首要追求目标。 每一本 COOZINE 电子杂志(电子图书)由 CO
7、OZINE、JPEG 图片和 XML 文件 3 部分组成。 Portable Scribus 1.3.5.0Portable Scribus是一款类似Adobe Pagemaker的开源图片管理制作软件,可以用来制作个人文件、邮件列表、电子杂志类型的电子文档。它体积很小,可以放在U盘里,只需插入相应的电脑就可以使用。 Premiere软件特点:premiere是一款专业级具有高级的编辑功能的图片管理制作软件,对于专业用户,它可以通过不断增加插件,和用户的专业水平进行复杂的编辑,制作出专业的绚丽相册,但由于面向专业用户,软件的操作十分复杂,上手时间很长,非专业用户使用有非常大的难度。1.3本文的
8、主要工作Android图片管理系统有效地解决了大量图片管理问题,系统开发时分为前端页面设计开发和后台业务实现开发。 本文开头首先对图片管理软件的研究背景做了简单介绍,其次简述了现今流行的几个手机开发平台,详细介绍了Android开发平台的架构,并描述了Android开发环境的搭建过程;接下来是对系统设计的介绍,本文从对图片管理器功能模块的分析,到android系统服务的调用的设计,再到系统客户端的实现都做了详细的解说,并把有些细节和技术提出来做单一的解说;紧接着本文描述了此客户端的图片管理软件的测试过程和此系统特色功能。本设计完成后,能够实现以下功能:图片的浏览、图片属性的修改、图片的增删改等
9、具体操作。1.4 本文的组织结构第二章 需求分析,首先描述图片管理系统的总体业务流程,然后介绍该图片管理器的设计目的和解决的用户实际使用面临问题。最后将软件需求分为软件功能性与非功能性需求进行汇总。第三章 系统概要设计,主要是基于android系统架构与MVC软件架构进行设计。概要设计包括物理层设计与逻辑架构层的设计。第四章 系统详细设计,本章主要进行系统建模设计。在系统建模部分,从静态结构和动态结构两个方面讨论了系统建模的设计。第五章 系统的实现与测试,首先对图片管理器基本操作如何实现进行描述,并通过系统代码截图和软件功能截图进一步说明。在本章的最后又对系统的测试情况进行了说明。第2章 需求
10、分析2.1总体业务描述本章需求分析为了下文的详细设计和系统实现想打下基础,旨在于提高软件开发过程中的能见度,便于对软件开发过程中的控制与管理,同时提出了本软件开发过程,便于开发人员与客户之间的交流、协作,并作为工作成果的原始依据,同时也表明了本软件的共性,以期能够获得更大范围的应用。在android系统在手机平台风靡的同时,图片管理器在系统中越来越普及,人们通过图片管理软件对图片进行图片管理,既方便了用户,又为传统图片管理带来了革新的契机。现今android操作系统逐渐成熟,尤其是伴随着各大手机厂商如三星(Samsung),多普达(HTC)出款的多款android手机大热。人们不仅要求采用手机
11、连接PC进行图片管理,更加盼望在手机操作系统上实现快捷方便的图片管理。随之带来的是android手机给功能强大,使用简单快捷,拥有良好操作界面的手机图片管理系统的具体需求。系统基于android系统进行二次开发,考虑到android的基于Linux本质,开发语言选择使用成熟的高级语言Java。在pc端windows平台下使用Android SDK自带移动模拟器开发调试,生成软件包,在手机端安装apk来达到最终系统运行的目标。利用eclipse开发的android应用程序,能够与安装有android操作系统的手机硬件相联系,快速便捷的访问手机SD卡和本机内存中各个类型图片。有条理的将手机图片与系
12、统中划分的图片类型集合相对应,比如系统中分为图片集合,音乐集合等,通过窗口集合的方式显示各个对象和不同类型图片的对应关系。系统层次清楚,模块独立。根据软件低耦合的指导思想,将系统分为界面层,数据层,存储层等。采用此软件架构,满足了用户的同时访问和android系统并发调用。能够支持多种图片格式,可是标准主流常见的图片格式,也可以满足特定格式需求。系统留有软件识别的图片格式的接口,能够能够方便的增加在开始之后确定的图片格式和特殊需求。系统具有能有完美调用android服务的接口,支持在使用开发过程中新需求带来的处理新对象所对应的android服务。数据的流向具有双向性。软件将本机或sd卡的图片数
13、据进行处理,汇总之后上床到界面端,呈现在用户面前。软件将用户操作具体实现到本机或sd卡中,根据用户操作进行图片的更新,良好快速实现上层软件对底层硬件设备的数据管理。2.2系统目标和需要解决的问题随着信息的高速发展手机已变的越来越普及尤其是智能手机,基于Android操作系统的手机就是在这样的趋势下逐渐一步步的走入我们的生活,因此,我们选择这样的研究课题最主要的一点是看在它的潜在市场价值,通过开发基于Android的图片浏览器,能给广大Android用户提供一个安全的,功能强大的,易于操作的,便于管理的高性能管理器。安卓手机基本都会去安装图片浏览器,尤其是ES图片管理器、RE图片管理器、安卓优化
14、大师用的最为常见,根据需求分析可见,用户将通常对图片管理的要求就是美观度、操作性、功能是否全面。系统需要解决的问题主要包括:2.图片管理中各个方面的功能不同,需要在满足1.图片管理的主要使用者是广大手机用户,手机用户不同的需求多而各式各样,软件怎样提供最为方便,最能提供有效服务,最能满足大量用户共同需求的功能?需求的同时,对需求进行具体分析。图片管理业务流程复杂,需要在android系统的基础上,完成在sd卡和本机图片管理,系统如何在处理用户图片操作的同时,实现与系统的兼容和交互,又能体现出软件的特色和功能。3.与手机系统交互时,获取的图片信息复杂且没有分类,同时用户的操作也是不尽相同。随着用
15、户使用手机的变长,图片的数量和类型伴随着增多,手机存储容量进一步减少,需要对图片进行实时的管理,将大量图片的实时信息上传到UI界面。4.最大程度的减少用户误操作和实现对系统关键图片的保护,在管理过程中如何做到软件的可靠运行,操作的安全和图片的完整,并且需要对管理进行记录,来达到图片的恢复。5.软件的UI端作为大量图片的显示端,汇总较多数量和不同类型的图片,如何叫系统以最快的速度对数据进行有效整合,并且以简单明了的图形化和树状结构显示在UI。6.系统采用统一管理方式,即在应用程序列表中会显示系统中全部软件信息。其中系统必须组件和用户自行安装软件相互混杂,一般用户很难讲其中的软件区分开来,这就对用
16、户的软件管理带来不便。本系统的开发就是为了解决以上这个问题。本系统的设计是专门针对Android设备用户的日常软件,具体提出以下实现目标:1.大量图片或者图片夹的基本操作,比如复制、粘贴、剪切、新建图片夹、删除等典型操作 2.支持多标签页改变图片列表或者图标的显示方式。3.支持图片拖延功能图片或者图片夹多选功能。4.添加APK的Android安装包管理,包含软件安装,卸载,备份,查看详细信息等5.收藏夹功能类似于书签,可以创建多个库并把图片添加到库里面,方便对图片进行管理和分类。 6.在界面和操作上有很独到而人性化的设计。界面简洁精美,功能强大全面,智能的图片分类浏览,独有的网格化界面浏览设计
17、让用户在手机上体验到PC一样的方便性。7.让用户在手机本地图片和sd卡图片管理之间实现最平滑的操作体验。8.在root权限下,使用比系统自带管理器更容易,界面和操作流程更加优秀。在统一浏览屏幕下,浏览、传输、复制、剪切、删除、重命名图片和图片夹等图片操作比较快速。2.3系统需求分析需求分析目的是规范化本软件的编写,旨在于提高软件开发过程中的能见度,便于对软件开发过程中的控制与管理,同时提出了本软件开发过程,便于开发人员与客户之间的交流、协作,并作为工作成果的原始依据,同时也表明了本软件的共性,以期能够获得更大范围的应用。在需求分析中,需求获取为了实现目标系统,需要大量时间和用户沟通,研发人员搭
18、建良好的沟通环境,和用户高度合作。身为研发人员,必须将用户的表面需求抽象为模型,这样才能彻底理解需求,建立良好的沟通桥梁,帮助研发人员深刻了解业务模型,并且将系统如何帮助用户简化操作,提高图片管理水平,带来方便。本文所开发的基于android的图片管理系统是一款安装在主流android手机上,集图片分类,图片管理,权限获取,图片统计于一体。通过android开源的优势,保证软件能够识别外接存储卡和本机内存;同时,手机软件的特殊性需要图片管理系统采取一定的安全机制,保护用户的隐私。本软件能为用户提供最基本的图片浏览,相关图片调用:例如图片相关路径的设置、路径的更改,可以最大限度的体现图片浏览器的
19、最基本的功能,使图片浏览器的性能在目前配置下最大程度的提升。Android手机用户首先打开软件,进入系统主界面,手机软件请求获得root权限,并初始化显示界面,显示各个不同类型图片的各项基本信息,同时对sd卡进行初始化,获得sd卡具体容量信息,初始化完成后,用户对图片进行诸如查看,移动,删除等基本操作,在此基本操作功能上,系统调用各个软件对不同图片进行不同调用,如打开图片,浏览图片等。用户在使用完上述图片管理功能之后,用户退出软件,系统释放掉占用的root权限。系统整体流程如图1-1所示:图2-1 Android图片管理系统整体流程图Figure 2-1 Android file manage
20、ment overall system flow chart1.图片分类基于用户对图片方便的具体需求,系统对图片进行分类,分类的标准按照android系统所识别的几大图片类型,分别按照不同的图片类型遍历sd卡和本机存储空间,获得此类型的图片列表,最后在图片浏览界面按照系统设定,以网格化的形式将图片数量和类型显示在用户面前,通过高效率的软件功能,在最短的时间,将大量的图片按照合适的分类,按用户的具体需求,向用户提供图片分类浏览,达到设计目标。2 .图片管理(1)需求建模研发人员通过对android系统的研究和对广大用户的需求分析进行实际调查,与用户深入交流,根据多方面获得的需求信息建立诸如用例图
21、,时序图,流程图等模型,与用户需求建立可视化的桥梁,将信息双向透明的展现在用户和研发人员之间。需求建模对软件开发起到的全局性的促进作用,针对本文所研发的基于android的图片管理系统,需求分析在软件生命周期中占有非常重要的位置。本文从系统的功能性需求和非功能性需求两方面进行分析。(1)系统功能性需求 1)系统总体功能分析在需求过程中,调研人员采用用例图描述系统的各个单元模块,通过对图片管理软件的参与者和用例之间的关系描述,将系统的静态结构以可视化的方式提供给研发人员作为参考。图片分类运行在android操作系统中,图片管理软件调用权限获取模块申请获取root权限,为用户提供图片管理的基础。图
22、片管理系统获取权限的同时,调用生成列表模块遍历手机内存和SD卡中图片,生成列表。在生成列表的基础上,软件对图片进行分类,调用界面模块,将图片展示在软件前端。用户在软件的前端显示基础上,查看图片,选择需要操作的图片,对图片进行查看,删除,重命名和图片拖拽操作。系统总体用例图和流程图如下:图 2-2 Android图片管理系统总体用例图Figure 2-2 Android file management system general use case diagram2)图片分类管理进入图片分类的首页面,系统可以浏览系统所划分的类型下的所有图片,不同的图片类型展示不同的图片图标,如果是常用的图片类型
23、,则展示相应的图片或者图标。分别列出了当前类别和属于该类别的图片数量(比如手机中所有音乐,视频之类的图片数量),当系统点击其中一个类别的时候 ,会在第2个页面展示当前页面的信息。系统所划分的图片类型有音乐,视频,图片,软件,文本图片,压缩包等,另外,根据用户的特殊需求,图片分类提供收藏分类界面,为用户提供图片收藏功能,方便用户查找。系统具体用例图如下图:图 2-3 Android图片分类用例图Figure 2-3 Android file management general use case diagram3)图片管理系统可以选择复制,移动,删除,重命名,收藏这些操作,当系统选择一个条目并执
24、行如图的操作的时候它的名字就会变成蓝色,出现晃动提示。当系统选择移动或者复制的时候,这时系统可以选择图片夹,点击确定按钮进行复制,移动操作.在图片管理的过程中同时伴有着界面切换,开机自启动功能,图标常驻通知栏等具体用例。具体用例图如下:图 2-3 Android图片管理用例图Figure 2-3 Android file management general use case diagram图片管理过程中,需要注意的是用户权限的获取,为保护系统核心图片,在未获得root权限的情况下,不允许对图片进行操作,具体流程如下图:(2)系统非功能性需求 Android图片管理系统面向用户功能明确,并且由
25、于是基于android系统手机嵌入式软件,所以满足图片管理主要功能的同时,还需要满足一些非功能性需求。非功能性需求在以往的软件开发中经常被研发人员忽视,导致非功能性需求得不到保障,进而致使保障不了功能性需求的定义和实现。为了更好的实现图片管理系统的带给用户的价值,基于提高软件质量和遵守Android软件设计的主流标准和规范的考虑,图片管理系统非功能性需求有以下几个方面:1.界面设计需求:此处的界面设计需求不同于详细的界面的设计,主要体现的是用户在手机上使用图片管理软件的体验感觉。作为手机应用,应该注重软件界面设计的美观,简单,大方。由于图片类型的较多,不同图片类型模块间的切换要求平滑实现。界面
26、主题颜色采用醒目亮色。调用android操作系统的控件时充分考虑系统对控件的支持是否良好和使用范围是否超出软件需求。2.执行需求:执行需求要充分考虑当前主流手机的硬件配置,要求图片管理软件精确完成图片操作和完成功能时间在用户可接受的范围之内。软件在响应用户的图片操作时,对初始化界面显示图片列表的速度,完成诸如图片移动,删除,重命名等操作的精确性,完成操作后更新列表的时间,验证root权限的准确度等。3.易用性需求:在满足用户功能的需求的同时,软件最终提供给用户的功能的调用要符合用户使用手机软件的习惯操作和对软件的前期期望值。系统需求分析中心围绕的用户的使用习惯展开,细分用户习惯和需求,和软件应
27、用功能相结合,最终达到用户可以更快的操作软件。4.适应性需求:适应性需求主要包括图片管理软件对手机软件环境和硬件环境的适应。系统适应的软件环境主要是适应手机android操作系统,软件适合于android 1.0以上的所有版本的系统,可以调用android相应的服务和android自带的控件;系统适应的硬件环境主要是识别手机内存和自带的SD卡,软件安装后占有极少的手机空间前提下,提供完整的图片管理功能。5.扩展性需求:系统采用开源代码java,基于android系统开源的特性,在现有的成熟的软件框架之下,可以调用系统留有的二次接口进行后续的软件功能扩展,定期维护和系统升级6.安全性需求:系统面
28、对的手机图片含有大量私人重要信息,如自拍图片,系统截图等,同时,用户可以查看系统图片,若用户对个人重要图片和系统关键图片进行了不当误操作,后果不堪设想。为此,针对系统关键图片误操作,系统提供了关键性图片保护功能,对系统图片采取验证root权限的验证,针对个人重要信息图片,系统应当提供提示框的方式提示用户,并考虑采用支持可恢复性处理。总之,在注重功能实现的同时,将软件功能面向的图片对象有条件的限制在特定图片范围之内。第3章 系统设计3.1 系统概要设计根据长期软件开发经验,软件架构是手机软件系统开发面临的主要矛盾,基于成熟的软件架构,才能设计出优秀的手机系统。良好的软件架构能够有力的支持和促进系
29、统的设计与实现,主要包括组织设计模块,定义手机系统的与底层android库的接口,模块之间的调用和协作,主系统涵盖的各个子系统模块的组成,当前系统架构风格和用户具体界面需求等方面。信息交互。系统详细设计两个具体模块:手机客户端软件系统针对手机用户的需求特点,采用了android手机客户端技术,使用基于MVC的多层架构设计,加以图形化界面调用android系统库中插件,为方便用户不定期的对图片进行管理,系统软件运行在手机的android平台上。客户端图片管理软件采用动态刷新,使用android系统多线程技术,实现对不同类型不同位置的所有图片的管理,根据上一章节的功能性和非功能性需求分析可知,系统
30、需要将图片的类型,图片数量等信息汇总到前端界面显示的同时,还需要对手机存储空间中的图片进行遍历更新。系统设计成两大核心模块:图片分类模块和图片管理模块。软件架构针对用户的具体需求和系统面向的图片管理,采用面向对象的编程思想,参考基于JAVA的MVC各个层次架构特点,调用android系统库和控件,来完成系统主要功能。系统的层次的特点是以手机存储空间内的图片集合为核心,根据用户,将不同的功能划分为多个模块。图片分类模块采用设计的前端界面进行区分式显示,体现不同的业务模型。图片管理模块调用控件和服务,对图片进行相应的操作。3.1.1系统物理架构设计系统的物理架构基于android手机存储设备,核心
31、围绕手机存储设备上的各类图片展开,为手机用户提供具体的图片管理功能。用户通过基于android的客户端架构,使用系统访问手机存储设备,手机用户,用户使用软件相应功能对图片进行操作,通过android操作系统服务与内存和SD卡上图片进行交互。图片管理系统物理拓扑结构如下图所示所示:图 3-1 图片管理系统物理拓扑结构图Figure 3-1 File management system map for physical topology structure图片管理系统设计时采用了基于android系统开源的性质,只要满足系统识别图片的范畴,用户在不同的android手机上都可以使用,同时,goog
32、le公司开放了底层系统库,系统可以以程序接口的方式实现良好调用,所以图片管理系统设计平台采用了android操作系统。3.1.2系统逻辑架构设计分层是软件设计中非常重要的思想,特别是面对较大的软件系统。分而治之是计算机中经常采用的一种方法。因此按照软件工程分层考虑的理论,我们对此系统进行分层设计。天元物联路灯管理系统按照MVC的设计模式将系统划分为界面层、业务层、协议层、数据库层四个层次。此系统采用模块化设计,方便其他开发语言的绑定。在系统结构中,每个逻辑层向上层提供程序接口,供给上层调用完成相应功能。系统逻辑结构如图3-2所示:面对数据处理量较大,设计规模较大的软件系统,软件层次清晰是基本要
33、求。软件架构分层是系统设计中广泛采用的方法。为了实现软件层次清晰的要求,对图片管理系统的各个模块划分层次。按照MVC模式开发应用层的手机程序分为界面层,业务层,服务层,通过组件的重用降低模块之间的耦合,图片管理系统的逻辑结构如下图所示:图 3-2 图片管理系统逻辑结构Figure 2-2 File management system logic structure1、界面层界面层实现图片管理系统的前端显示,包括图片浏览界面,图片管理界面。界面层为软件使用者提供与手机交互的用户界面,界面层与用户的交互最为直接,能够引导用户自己完成图片管理的相应的操作。图片管理系统界面层显示功能采用多窗体九宫格的
34、显示框架,android系统的自带控件,xml配置文件等生成界面。2、业务层业务层在架构中体现系统核心价值,主要集中在业务规则的制定、业务流程的实现等与业务需求有关的系统设计,将软件模块抽象成对数据进行处理的组件。基于需求分析获得的主要功能性需求,将系统业务逻辑分为软件分类模块,软件管理模块。为实现层次的弱耦合结构,业务层在界面层和数据层之间起到承上启下的作用,软件分类和软件管理等业务模块通过调用android系统服务和系统库对数据层(在本系统中对应文件层)进行访问,完成图片分类和图片管理的各种业务逻辑,满足需求分析中的所获取的具体功能需求。图片分类模块在界面层下发的数据基础上,采集数据层的数
35、据并做相应的处理,功能实现之后,上传到界面层前端UI予以显示。图片管理模块实现图片管理的具体的功能之后,将操作体现到到图片层,通过调用android系统服务和系统库与数据层进行交互,数据层对图片层各种数据进行更新。业务逻辑层在体系架构中的位置很关键,对于数据访问层而言,它是调用者;对于表示层而言,它却是被调用者。在相同android系统服务和系统库以及面向的存储设备上的手机图片大相径庭的基础上,业务层的不同的设计与实现可能会导致形成不同的图片管理系统,换言之,各种图片管理系统之间的差别就体现在业务层的设计与实现的差别,因此系统的设计和实现的关键体现在业务层的设计与实现。3、android系统服
36、务和系统库android系统库是google专门开发设计的一套成熟库,为支持java,完善系统的开源性,以android服务为基础,构建可以多次复用的图片管理业务,减少重复开发,将软件开发的中心从图片管理功能实现的细节转移到扩展系统库的支持,在android系统服务的支持下,android系统库的引入大幅度提到软件设计和实现的效率。图片管理系统所使用的android系统库结构如下图所示:图 3-3 Android系统库结构图Figure 3-3 Android system library structure diagram4、文件层文件层也就是数据层,文件系统将数据存储在硬件上,系统内核通过
37、驱动将其物理地址映射到/dev目录下拉,使得硬件可以像访问文件一样进行使用。物理地址可以像访问文件一样进行使用。物理地址通过通过映射之后将快设备挂载至目录就可以供业务逻辑层各个模块访问操作。第4章 系统详细设计系统详细设计在需求分析和系统概要设计完成的基础上,完成各个业务逻辑的设计,为了下一章的系统实现打好基础。本章根据系统层次划分,将从界面设计、图片管理模块设计、图片分类模块设计等方面,其中系统主要功能模块主要位于业务逻辑层,通过界面层完成图片浏览,通过业务层实现图片操作。本章将结合android系统的特点及java相关技术,实现图片管理器中各个java功能类设计,不同模块之间的访问,图片分
38、类和管理的实现以及管理图片前端界面层显示信息的实现。我们将各个功能模块进一步划分,划分的功能模块与各个子系统功能详细设计说明如下:4.1界面详细设计1、 系统总体包图在图片管理系统开发中,包图用来表述功能组命名空间的组织层次。图片管理系统的业务层包由res包, adapter、bean、impl、util、filemanger、ansyloader favdb 等包组成。各个包之间的依赖关系如下图所示:图 4-1 系统总体包图Figure 4-1 The system overall package Figure在核心filemanger包基础上,各个功能包实现具体功能,filemanger包
39、里图片分类和图片管理功能包,调用adapter包汇总数据,adapter包调用bean包获得各个类型图片的详细信息,until包调用favdb、fileutil、impl包完成图片的增加删除修改等操作。图片管理主要系统包信息如下表所示:系统包名主要功能com.tarena.filemanger主题界面Activity类汇总包com.tarena.filemanger.adapter基础数据适配器包com.tarena.filemanger.bean应用程序素材包com.tarena.filemanger.favdb数据库连接包com.tarena.filemanger.fileutil程序操作
40、包com.tarena.filemanger.impl.ansyloader图片操作包com.tarena.filemanger.util系统工具包图 4-2 图片管理主要系统包Figure 4-2 Document management system package4.2 Android资源设计此处所说的资源为非编码设计部分,以本系统来说,系统桌面特效需要使用一些动画来显示,需要一些图片来设置,提示信息需要使用一些字符串来显示,这些常量值、布局图片、菜单、图片、原生图片、动画、XML图片等就可以称为系统资源。图片管理系统的资源图如下图所示图 4-3 图片管理系统的资源图Figure 4-3
41、Resource map of the document management system系统通过调用资源编译工具AAPT来编译这些资源文件,资源图片要有一定的布局和格式。其类型和目录结构如下表所示:目录结构资源类型res/anim/XML动画文件res/drawable位图文件res/layout/XML布局文件res/values/各种XML资源文件Arrays.xml:XML数组文件Colors.xml: XML颜色文件Dimens.xml: XML尺寸文件Styles.xml:XML样式文件res/xml任意的XML文件res/raw直接复制到设备上的原生文件res/menuXML菜
42、单文件系统资源的使用分为在代码中使用和在其他资源图片中引用该资源图片。在编译图片管理系统时,自动生成一个R类,在该类中又生成了相应的内部类。视图查看模块视图查看模块是一个GUI界面,是直接展示给用户观看效果的模块,这对用户对界面的友好性有一定的难度,我们采用了树形菜单的和小图标的图形用户界面,这样的话就能很好的解决了图形用户界面。使图片操作更人性化使图片操作更快捷使图片操作功能更完善。视图查看模块的xml静态图如下图所示:图 3-4 视图查看模块的xml静态图Figure 3-4 xml static diagram view View module main.xml文件为系统主界面配置图,包
43、含 标签,实现各个按钮和标签,文字,标签,图片,界面布局的显示,调用如上图的各个分界面和各个控件的xml界面设计文件,其中file_explorer.xml为图片分类模块界面设计文件,alert_dialog.xml为图片管理模块界面文件设计,noflie_item.xml为图片查找界面设计文件, app_item.xml 为图片操作提醒界面设计文件。4.3 图片分类模块详细设计 系统分类模块为系统的核心模块之一,为图片管理提供分类支持,调用com.tarena.filemanger.CategoryAct类初始化界面,完成对所有类型图片的汇总,汇总之后进行以网格化分类显示。CategoryA
44、ct显示具体类设计如下图所示:图 4-5 CategoryAct显示具体类图Figure 4-5 CategoryAct display specific class diagram CategoryAct类继承了Activity父类和OnItemClickListener接口,通过Activity父类属性实现界面,通过OnItemClickListener实现对界面事件的监听。 通过调用picture_count, sd_card_capacity_label,fav_count以及LinearLayout实体。通过调用setview()函数实现对图片类型和数量的汇总显示,对每个单元的内容以
45、及UI格式进行描述;通过readSDcard()函数实现对SD卡存储容量的显示;通过StarThreadGroup()启动对图片的后台支持。CategoryAct合作图如下图所示: 图 4-6 CategoryAct合作图Figure 4-6 CategoryAct collaboration diagram onCreat()完成前端界面和后台服务的初始化,通过调用setView()初始化系统前端界面的同时,调用StarThreadGroup()启动后台服务支持。在setview显示前端界面时,setView()函数调用readSDCard()函数获得SD卡容量和剩余存储量在图片分类的九宫格
46、页面下端显示。onCreate()函数调用图,如下图所示:图 4-7 onCreate()函数调用图Figure 4-7 onCreate()function call graph onItemClick()调用bean包下面图片get方法获得图片信息,对应界面菜单点击相应相对应。onItemClick()函数调用图如下图所示:图 4-8 onItemClick()函数调用图Figure 4-8 onItemClick()function call graph4.4 图片管理模块详细设计 图片管理模块为系统功能实现的核心模块,图片管理的Activity类FileMangerAct与图片分类模块
47、的CategoryAct类进行切换,在图片分类的基础上对图片进行操作。FileMangerAct图片管理类具体类设计如下图所示:图 4-9 FileMangerAct图片管理类具体类Figure 4-9 FileMangerAct file management class specific class FileMangerAct首先实例化adapter,通过adapter对图片进行访问,然后通过图片工作操作类Filehelp实现对图片各个操作,包含操作MENU_FAV 收藏 MENU_DELETE删除 MENU_COPY 复制 MENU_RENNAME 重命名 MENU_MOVE 剪贴(移动
48、) MENU_MOREINFO 详情 等操作,在完成操作之后通过intent消息与显示界面交互,进行图片信息的刷新。文件操作具体流程图如下图:图 4-10 图片文件操作具体流程图Figure 4-10 File operations specific flowchart 为实现对图片的单独显示,系统设计了MyAdapter类,getCount () getItem (int position);getItemId (int position);getView (int position, View )实现对图片数量,菜单项,菜单项标号以及系统图标标号,单独显示;具体类图如下图:图 4-11 图片操作具体具体类图Figure 4-11 File operations specific concrete cla