(3)    周期短
嵌入式应用程序跟桌面、Web软件的开发流程有很多不同之处,在精简程序的同时,不仅缩减了冗长的代码,也减少了开发的周期,项目周期缩短,相同需求的情况下,自然开发成本就会降低。
3.5.3    系统安全性分析
因为程序的目的专一,并无太多可能的安全问题。但是由于嵌入式交互的用户体验占了很重要的部分,例如Linux下进程之间无法互相通信,产生进程锁时就会出现主UI进程未响应,超过6秒会出现ANR的错误,是会严重影响用户体验、并且不被允许的。在移动设备上运行的程序,大多数都要进行线程的严格化处理和代码的精简,这样才可以做成一个完整的、好的嵌入式应用程序。
4    系统设计
4.1    系统功能结构设计
依据系统的需求设计,按照结构化的系统设计方法,软件的功能结构设计图可以用结构图来进行描述。通过功能的分析,将图画出,如图4.1所示。
 
图 4.1 软件功能结构图
4.2    文件夹/图片浏览模块设计
实现文件夹/图片组浏览模块,由于他们两个界面的相似性(网格结构),它们共同继承自MainActivity.java。为了提供更好的用户体验,采取了动态、异步加载图片的方法。使用了异步加载AsyncTask,是一个Android内部的异步任务实例。使用AsyncLoadImage进行实现。模块的静态模型图如图4.2所示。
 
图 4.2 文件夹/图片组浏览模块类图
MainActivity主要实现的是图片的读取和更新List,主要方法如表4.1所示。
表 4.1 MainActivity的主要方法
方法名    返回类型    参数类型    说明
onCreate()    void    Bundle    Activity第一次启动时调用,为入口函数,做通常处理
initGridView()    void    /    初始化网格布局
loadImages()    void    /    读取图片数据
getImgIds()    ArrayList<Integer>    ArrayList<Integer>    获得图片的ID
getTag()    String    /    获得当前TAG(调试用)
receivedMediaBroadcast()    void    Intent    获得广播后处理
doFromBroadcast()    void    boolean, boolean    SD卡拔出、SD卡扫描等广播处理
showNoImages()    void    /    错误处理显示
isBucket()    boolean    /    返回是否文件夹页面
addImage()    void    LoadedBitmap...    加入图片并更新
cancelTask()    void    /    取消异步任务
onStop()    void    /    Activity结束时调用,解绑Broadcast等取消动作处理
其中,因为需要保证界面的完整性,不能使其出现ANR的错误,使用异步加载图片,保证Activity的主线程不被终止。其时序如图4.3所示。
 
图 4.3 AsyncTask加载图片时序图
4.3    图片浏览模块设计
图片浏览模块的主要功能是对图片的查看、设置为桌面背景,同时对图片进行分享的操作。图片浏览模块使用了工具类中的查询方法,对文件夹下的图片进行了查询,同时需要实现系统的手势操作。他们的静态模型关系如图4.4所示。
 
图4.4 文件夹/图片组浏览模块类图
Gallery的主要功能是图片浏览、幻灯片播放、设置背景等,如表4.2所示。
上一篇:PHP+mysql材料管理系统设计与实现
下一篇:C#条码仓库管理的设计与开发出入库模块

基于Apriori算法的电影推荐

java+mysql通用试题库系统后台设计与实现

PHP+IOS的会议管理系统的设计+ER图

基于PageRank算法的网络数据分析

基于神经网络的验证码识别算法

基于网络的通用试题库系...

python基于决策树算法的球赛预测

神经外科重症监护病房患...

国内外图像分割技术研究现状

公寓空调设计任务书

承德市事业单位档案管理...

志愿者活动的调查问卷表

10万元能开儿童乐园吗,我...

C#学校科研管理系统的设计

中国学术生态细节考察《...

医院财务风险因素分析及管理措施【2367字】

AT89C52单片机的超声波测距...