基于android的图片管理器设计与实现毕业设计(论文)(编辑修改稿)内容摘要:

系统库结构如下图所示: 图 33 Android 系统库结构图 Figure 33 Android system library structure diagram 文件层 文件层也就是数据层,文件系统将数据存储在硬件上,系统内核通过驱动将 22 其物理地址映射到 /dev 目录下拉,使得硬件可以像访问文件一样进行使用。 物理地址可以像访问文件一样进行使用。 物理地址通过通过映射之后将快设备挂载至目录就可以供业务逻辑层各个模块访问操作。 23 第 4 章 系统详细设计 系统详细设计在需求分析和系统概要设计完成的基础上,完成各个业务逻辑的设计,为了下一章的系统实现打好基础。 本章根据系统层次划分,将从界面设计、图片管理模块设计、图片分类模块设计等方面,其中系统主要功能模块主要位于业务逻辑层,通过界面层完成图片浏览,通过业务层实现图片操作。 本章将结合 android系统的特点及 java相关技术,实现图片管理器中各个 java功能类设计,不同模块之间的访问,图片分类和管理的实现以 及管理图片前端界面层显示信息的实现。 我们将各个功能模块进一步划分,划分的功能模块与各个子系统功能详细设计说明如下: 界面详细设计 系统总体包图 在图片管理系统开发中, 包图用来表述功能组命名空间的组织层次。 图片管理 系统的业务层包由 res 包, adapter、 bean、 impl、 util、 filemanger、ansyloader favdb 等包组成。 各个包之间的依赖关系如下图所示: 24 图 41 系统总体包图 Figure 41 The system overall package Figure 在核心 filemanger 包基础上,各个功能包实现具体功能, filemanger 包里图片分类和图片管理功能包,调用 adapter 包汇总数据, adapter 包调用 bean 包获得各个类型图片的详细信息, until 包调用 favdb、 fileutil、 impl 包完成图片的增加删除修改等操作。 图片管理主要系统包信息如下表所示: 系统包名 主要功能 主题界面 Activity 类汇总包 基础数据适配器 包 应用程序素材 包 数据库连接包 程序操作包 ader 图片操作包 系统工具包 图 42 图片管理主要系统包 Figure 42 Document management system package Android 资源设计 此处所说的资源为非编码设计部分,以本系统来说,系统桌面特效需要使用一些动画来显示,需要一些图片来设置,提示信息需要使用一些字符串来显示,这些常量值、布局图片、菜单、图片、原生图片、动画、 XML 图片等就可以称为系统资源。 图片管理系统的资源图如下图所示 25 图 43 图片管理系统的资源 图 Figure 43 Resource map of the document management system 系统通过调用资源编译工具 AAPT 来编译这些资源文件,资源图片要有一定的布局和格式。 其类型和目录结构如下表所示: 目录结构 资源类型 res/anim/ XML动画文件 res/drawable 位图文件 res/layout/ XML布局文件 res/values/ 各种 XML资源文件 : XML数组文件 : XML颜色文件 : XML尺寸文件 : XML样式文件 res/xml 任意的 XML文件 res/raw 直接复制到设备上的原生文件 res/menu XML菜单文件 系统资源的使用分为在代码中使用和在其他资源图片中引用该资源图片。 在编译图片管理系统时,自动生成一个 R 类,在该类中又生成了相应的内部类。 视图查看模块 视图查看模块是一个 GUI 界面,是直接展示给用户观看效果的模块,这对用户对界面的友好性有一定的难度,我们采用了树形菜单的和小图标的图形用户界面,这样的话就能很好的解决了图形用户界面。 使图片操作更人性化使图片操作 26 更快捷使图片操作功能更完善。 视图查看模块的 xml 静态图如下图所示: 图 34 视图查看模块的 xml静态图 Figure 34 xml static diagram view View module 文件为系统主界面配置图,包含 RelativeLayoutViewFlipper LinearLayout标签,实现各个按钮和标签,文字,标签,图片,界面布局的显示,调用如上图的各个分界面和各个控件的 xml 界面设计文件,其中 为图片分类模块界面设计文件, 为图片管理模块界面文件设计, 为图片 查找界面设 计文件, 为图片操作提醒界面设计文件。 图片分类模块详细设计 系统分类模块为系统的核心模块之一,为图片管理提供分类支持,调用 类初始化界面,完成对所有类型图片的汇总,汇总之后进行以网格化分类显示。 CategoryAct 显示具体类设计如下图所示: 27 图 45 CategoryAct显示具体类图 Figure 45 CategoryAct display specific class diagram CategoryAct 类继承了 Activity 父类和 OnItemClickListener接口,通过Activity 父类属性实现界面,通过 OnItemClickListener 实现对界面事件的监 28 听。 通 过 调 用 picture_count, sd_card_capacity_label,fav_count 以及LinearLayout 实体。 通过调用 setview()函数实现对图片类型和数量的汇总显示,对每个单元的内容以及 UI 格式进行描述;通过 readSDcard()函数实现对SD 卡存储容量的显示;通过 StarThreadGroup()启动对图片的后台支持。 CategoryAct 合作图如下图所示: 29 图 46 CategoryAct合作图 Figure 46 CategoryAct collaboration diagram onCreat()完成前端界面和后台服务的初始化,通过调用 setView()初始化系统前端界面的同时,调用 StarThreadGroup()启动后台服务支持。 在 setview显示前端界面时, setView()函数调用 readSDCard()函数获得 SD 卡容量和剩余存储量在图片分类的九宫格页面下端显示。 onCreate()函数调用图,如下 30 图所示: 图 47 onCreate()函数调用图 Figure 47 onCreate() function call graph onItemClick()调用 bean 包下面图片 get 方法获得图片信息,对应界面菜单点击相应相对应。 onItemClick()函数调用图如下图所示: 图 48 onItemClick()函数调用图 Figure 48 onItemClick() function call graph 图片管理模块详细设计 图片管理模块为系统功能实现的核心模块,图片管理的 Activity 类FileMangerAct 与图片分类模块的 CategoryAct 类进行切换,在图片分类的基础上对图片进行操作。 FileMangerAct 图片管理类具体类设计如下图所示: 31 图 49 FileMangerAct图片管理类具体类 Figure 49 FileMangerAct file management class specific class FileMangerAct 首先实例化 adapter,通过 adapter 对图片进行访问,然后通过图片工作操作类 Filehelp 实现对图片各个操作,包含操作 MENU_FAV 收藏 MENU_DELETE 删除 MENU_COPY 复制 MENU_RENNAME 重命名 MENU_MOVE 剪贴(移动 ) MENU_MOREINFO 详情 等操作,在完成操作之后通过 intent 消息与显示界面交互,进行图片信息的刷新。 文件操作具 体流程图如下图: 32 图 410 图片文件操作具体流程图 Figure 410 File operations specific flowchart 为实现对图片的单独显示,系统设计了 MyAdapter类, getCount () getItem (int position); getItemId (int position); getView (int position, View )实现对图片数量,菜单项,菜单项标号以及系统图标标号,单独显示;具体类图如下图: 33 图 411 图片操作具体具体 类图 Figure 411 File operations specific concrete class diagram 为实现图片复制,删除,剪切,重命名等操作,系统设计了 Filehelper 类。 对不同类型的图片设计通用的方法 copyfile(), delfile(), movefile(),delfile();通过对方法的参数输入不同完成对方法的初始化,实现对不同图片的通用操作,系统设计类图如下: 34 图 412 系统设计类图 Figure 412 System design class diagram 系统图片管理操作,通过设计 FileMangerAct 类, MyAdapter 类, Filehelper类,通过三个类的实例化,以及类中各个方法的调用完成功能。 模块总体类图和时序图如下: 35 图 413 模块总体类图 Figure 413 Module overall class diagram 图 414模块总体时序图 36 Figure 414 The module overall timing figure 37 分享图片 布局设计 TabActivity 的布 局实现 图 54 TabActivity的布局实现图 Figure 54 The TabActivity layout Figure TabActivity 的布局是顶部一个线性布局 ,有两个按钮 ,用于切换视图 ,下面是一个层叠布局 (tabcontent),用于显示子 Activity 的内容 .这里需要注意的是 ,系统把默认的 TabWidget(tabs)设为隐藏 ,用系统线性布局里面的按钮代替TabWidget 的功能。 图片浏览页面的布局实现 图片浏览页面就相对简单一点 ,外部是一个相对布局 ,底部是一个线 性布局 ,线性布局里面有两个操作按钮 ,确定和取消 .只有在执行操作的时候 ,底部这个布 38 局才会显示 ,中间是一个 listview 用来显示当前浏览的图片条目。 分类浏览布局设计 分类浏览的布局稍微复杂一点 ,这里系统先看一下布局导航图。 图 55 布局导航图 Figure 55 Layout navigational charts 第一层 :一个现象布局 第二层 :一个 viewfliper 第三层 : viewfliper 里面的两个线性布局 第一个线性布局 ,就是放系统主页面的分类模块 ,第二个线性布局 ,用于显示系统当前点击某一个分类的时候用于展示系统的分类数据 .其实就是一个listview,给予不同的数据 ,显示不同的样式 .(比如音乐 ,视频 ,文本 ,图片等等 ). 第四层 :类别显示层 ,系统的设计界面有 9个类别 ,其实对应了三个垂直的线性布 39 局 ,每一个线性布局里面有有三个水平的线性布局 .任何这个水平的线性布局里面有三个子 view 分别是 imageview,和 2个 textview,下面是一个线性布局显示当前 SD 卡的内存使用 .,可用进度条显示。 分类浏览的页面布局就是这样来设计 ,这里之所以用一个 viewfliper 是因为系统在来回 点击分类的时候 ,用 viewfliper 切换视图比较方便而且可以做比较华丽的动画效果。 部分功能编码实现 这里系统来详细介绍一下整个程序的数据获取 ,和加载的流程 ,以及页面跳转刷新的过程 . 图片分类信息数据的获取 在安卓系统中会自动建立一个媒体数据库 ,里面存放系统的图像信息 ,包括大小 ,路径 ,图片名 .详细的属性可以打开数据库查看系统需要的属性 ,这里系统就把系统所需要获取的数据列出来就行了 .至于别的文件系统就需要另外处理来获取数据 ,系统可以调用 linux 命令来查询图片系统中的所有系统需要查询的图片 .以下为代码介绍: 图片数据的获取 获取数据的游标 ,有了它系统就可在数据库中查询所有图片的信息 Cursor cursor = (。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。