层
UI窗口层分为两个界面,一个是初次开启应用时进入的设置初始化界面,另一个则是用户在非第一次开启应用时弹出的用户身份验证窗口。
图 3.3 初始化设置
当用户第一次开启应用时,展现在用户眼前的是一个设置初始化界面,如图3.3所示。用户可按照相应提示完成放到设置,其中包括设置防盗安全密码和设置安全电话号码。防盗安全密码将用于验证应用本软件用户的身份,在非第一次开启此防盗软件时将需要用户输入防盗安全密码。另外,设置好的防盗安全密码将会编进防盗指令,用于控制手机实现相应的操作。安全手机号的设置非常重要,设置成功后,此号码将被认为是唯一可信赖的[网学网用户上传],当手机被盗后,防盗软件将会按照指令向安全号码手机发送手机状态。
图 3.4 验证窗口
图3.4展现的是用户在非首次开启应用时弹出的验证用户信息窗口。此通行密码为用户设置的防盗安全密码,通过此方式保证了用户设置信息的安全性。
UI窗口层为本应用软件的最顶层,此层的UI设计好坏决定了用户对本软件的第一印象,所以要想得到用户的肯定,这层的设计一定要做好。为此,在选择文字的字体、颜色、大小以及摆放位置做了无数次的调整,努力达到最好、最舒适。除了这些我还在输入文本框里加进了提示信息如:输入密码框里的“6~12位数字或字母”等,在方便用户应用的同时也美化了UI。
3.1.2 UI主层
UI主层是个选择界面如图3.5,本层为用户提供3种主要操作,分别为防盗功能体验、防盗指令查看、防盗信息设置。
图 3.5 UI主层
在本层UI的上面是一个宇宙图片,寓意着安装本应用后,即使你的手机被带到了宇宙我们也能找到它,当然这有些夸张了,不过我们还是要对此软件充满信任的。
除了这张宇宙图片我还在每个选项前后都加附上了相应功能的logo,学习360的多图设计,用视觉告诉用户本条选项的功能。
为达到UI布局整齐的效果,我采用列表式布局,将选项按照用户需求量进行排布,这样的布局可是UI实现整齐、清晰、功能突出等效果,属于理想的UI设计。
3.1.3 UI功能体验层
UI功能体验层如图3.6所示,此UI界面同样继承优良设计布局方案将本应用所有功能统一以列表形式列出,最前端图标代表着此条选项所要实现的功能,然后每个选项的功能说明以大字功能名加小子简要说明的形式整齐的展现在界面上,让用户对选项功能一目了然。
图 3.6 UI功能体验层
当用户点击进入UI功能体验层的每个选项后,就会看到每个功能实现的具体说明,而且在每个可以单机实验的功能里都加进了功能体验按钮,可以让用户体验本功能的真实效果。其效果图见附录一。
3.1.4 UI指令查看层
在UI指令查看层,总结罗列了开启每个防盗功能的防盗指令,用户可以在这里方便快捷的得到所需防盗指令,如图3.7所示。
图 3.7 UI指令查看层
3.1.5 UI信息设置层
UI的设置层是UI非常重要的一个视图层,此层要以最方便,最简约,最快捷为核心排版设计,而且要尽量覆盖本软件的所有功能设置。基于以上要点,首先总结本防盗软件的设置功能如表2。
表格 2设置功能
所需功能 功能目的 功能体现形式 设置此功能键的意义
防盗开关 方便控制防盗功能的开启与关闭 开关按钮 可以方便用户对防盗应用软件的控制,无需卸载就能关闭防盗
换卡锁定开关 避免因用户自己换卡执行错误指令 开关按钮 在避免发送错误指令的同时,用户也可通过此开关对锁定功能进行单独体验
换卡短信通知开关 避免因用户自己换卡执行错误指令 开关按钮 在避免发送错误指令的同时,用户也可通过此开关对换卡短信通知功能进行单独体验
防盗密码重置 用于修改安全密码 加密形式 方便用户在首次初始化后改变防盗安全密码
安全手机号重置 用于修改安全[网学网用户上传] 显示预置号码 方便用户在首次初始化后改变防盗安全手机
按照表格2中的功能需求,我在设置UI里建立了与之相应的5个控件,以方便用户对软件的应用控制。最终设计出图3.8的效果来实现功能。
图 3.8 UI设置层
3.2 Function设计
我们在UI的设计中了解到一款软件拥有一个美观的UI是多么重要,那我们该如何实现这种华丽的显示呢?这就需要又一个很好的后台设计既功能设计。
3.2.1 应用初始化
初始化界面是让用户设置信息用的,所以首先我要告诉用户需要设置的信息都有哪些,介绍完后还要在相应的位置给出用于填写信息的控件。
这里我们用Android中最常用的TextView和EditText两个布局控件满足需求。并且在EditText里加入hint属性显示相关提示信息。对于密码的设置,我们都希望处于不可见状态以保证我们个人信息的安全,我用password属性来控制输入时的显示状态。在整个UI的最下面我还放置了两个按钮,方便用户的进一步应用和退出,此功能将用Button控件实现。
3.2.2 功能选择
功能选择的UI主要分为两部分,可以从上到下分为两段,在布局控件中用LinearLayout实现,并设置排版属性为垂直布局。上半部为一个图片,下面则需要一个List控件完成效果,整个UI的程序将用继承ListActivity类来描述已达到选项罗列的效果[7]。
图3.9为Android的文件管理。在Android中所有资源文件要统一管理并放到res文件夹中,并把每个资源都加上各自的ID,以方便调用。所有的调用ID则会放到gen文件夹下的R.java文件中进行统一遍历,我们所要的资源便可从这里索取。例如我们的宇宙图片。
图 3.9 文件管理
3.2.3 功能体验
功能体验UI分为两层呈现。外面一层同样用一个继承ListActivity的类来实现,在list空间里排布好每个图标和文字的位置,这里要用到ImageView控件添加图片。内层则是一个介绍体验层,这层的总体排布用LinearLayout的垂直分布就可以完成。添加Button按钮实现用户体验功能。
3.2.4 功能查看
这个界面完全是文字的排布,同样用ListActivity加以LinearLayout垂直型布局就可以完成。
3.2.5 功能设置
功能设置UI为用户可操控界面,所以要使用继承PreferenceActivity的类来完成相应的功能,此类是Android专门用来做UI设置界面用的,所以这个类中方法的应用也相对方便,但其布局文件与众不同,需要在res文件中新建个XML文件进行单独管理。其布局空间类型主要分为3大类AppWidget Provider、PreferenceScreen和Searchable,其中最常用的是PreferenceScreen,在这里又包含CheckBoxPreference、EditTextRreference、ListPreference、Preference、RreferenceCategory、PreferenceScreen和RingtonePreference7个控件[8]。我们的UI设置界面就用PreferenceScreen来完成。
3.3 Service设计
手机防盗应用软件在实际应用过程中一定是常驻后台的软件,所以不管用户是否打开软件,只要是开启了防盗功能,那此软件就会一直在后台运行,出于这样的考虑,我们就必须引进一个强大的后台支持,那就是Service既后台服务。
3.3.1 数据库存储服务
在Android系统中,用于保存数据有3种方式:SQLite、SharedPreferences和File。
SQLite是一种嵌入式系统中很常见的数据库,而且所有的数据都储存在一个文件中,便于迁移。SQLite有见解的SQL访问界面、相当快的速度,而且仅占用相对其他数据库少量的内存空间。在Android平台上,SQLite库可以用来存储应用程序中使用到的数据,还可以通过定义Content Provider等方式,来让其他应用程序也可以取用其中的数据[9]。
SharedPreferences是以键值对来存储应用程序的
上一篇:
基于Android的移动公交查询系统设计与实现
下一篇:
病理学实验课多样化教学方法探讨