基于Android系统的图片浏览器开发与设计(7)
时间:2017-02-07 20:06 来源:毕业论文 作者:毕业论文 点击:次
表4.2 Gallery重要方法 方法名 返回类型 参数类型 说明 commonInit() void / 初始化处理 initControls() void / 控件获得处理 setCurrentImage() void / 设置当前图片 getAllPicsByBucketId() void / 获得传入文件夹下所有文件 showDetailsDialog() void / 显示详细信息对话框 zoomImage() void / 放大/缩小图片 showNext() void int float 下一张图片 showPrev() void / 上一张图片 keepScreenOn() void boolean 保持屏幕长亮(幻灯片用) hideCtrlBars() void boolean 隐藏控制按钮 setAsWallpaper() void / 设置为背景 续表4.2 Gallery重要方法 方法名 返回类型 参数类型 说明 shareToOthers() void / 分享给其他人 本模块中比较重要的流程就是幻灯片播放,新建一个线程通过handler进行调用。首先清除handler中的所有的CallBack;然后打开屏幕唤醒,保证屏幕不会自动变暗或关闭;接着隐藏控制按钮;最后向Handler中发送Runnable对象。在Handler接受到以后,继续post,直到幻灯片播放结束(Photo数组长度与当前相同),则清除再次清除Handler中的所有CallBack。其时序调用图如图4.5所示。 图4.5 文件夹/图片组浏览模块时序图 4.4 图片处理模块设计 在图片处理模块中同样有图片的浏览的功能(多点触摸放大、缩小、拖动等),实现多点触控的操作,是由实现View.onTouchListener来完成的;而其他的图片处理操作都放在了BitmapUtils中,进行图片处理操作的管理。其类图如图4.6所示。 图4.6 文件夹/图片组浏览模块类图 Process的主要功能是图片的简单处理操作,方法如表4.3所示。 表4.3 Process的相关处理函数 方法名 返回类型 参数类型 说明 initControls() void / 初始化控件 getBitmap() Bitmap long 获得取得ID的控件 showChoosenDialog() void int 选择并初始化dialog getNowCheck() int int 获得当前选中内容 changeColor() void int 更换图片颜色处理 createWaterMark() void int 添加水印处理 changeSize() void void 更改大小处理 notifyChanged() void / 通知并设置图片变更 saveFile() void / 保存文件 4.5 数据库设计 数据库在这种管理类软件中所占比例是重中之重的,数据库使用的好坏将直接影响应用程序运行效率和运行结果。合理地设计,并使用数据库将会提高其应用程序的效率,这在嵌入式软件开发上是非常重要的。 在本程序中,使用了Android中ContentProvider提供的媒体数据库MediaProvider,其设计结构图4.2所示。其中BaseColumns中包含所有Provider的_ID字段,用来存放每个id;_COUNT字段保存了元素个数。MediaColumns包含了媒体的基本信息;ImageColumns主要用于存放图片的相关信息。使用Provider对数据进行操作时,通过以上几个接口中提供的字段,通过query()来进行查询。 (责任编辑:qin) |