基于Android系统的图片浏览器开发与设计(7)_毕业论文

毕业论文移动版

毕业论文 > 计算机论文 >

基于Android系统的图片浏览器开发与设计(7)


表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)