基于android系统的手机防盗论文内容摘要:

2 位数字或字母”等,在方便用户应用的同时也美化了 UI。 UI 主层 UI 主层是个选择界面 如图 ,本层为用户提供 3 种主要操作,分别为 防盗功能体验 、 防盗指令查看 、 防盗信息设置。 图 UI 主层 在本层 UI 的上面是一个宇宙图片,寓意着安装本应用后,即使你的手机被带到了宇宙我们 也能找到它,当然这有些夸张了,不过我们还是要对此软件充满信任的。 除了这张宇宙图片我还在每个选项前后都加附上了相应功能的 logo,学习 360 的多图设计,用视觉告诉用户本条选项的功能。 为达到 UI布局整齐的效果,我采用列表式布局,将选项按照用户需求量进行排布,这样的布局可是 UI实现整齐、清晰、功能突出等效果,属于理想的 UI设计。 UI 功能体验层 UI 功能体验层如图 所示,此 UI 界面同样继承优良设计布局方案将本应用所有功能统一以列表 形式列出, 最前端图标代表着此条选项所要实现的功能,然后每个选项的功能说明以大字功能名加小子简要说明的形式整齐的展现在界面上,让用户对选项功能一目了然。 图 UI功能体验层 当用户点击进入 UI功能体验层的每个选项后,就会看到每个功能实现的具体说明,而且在每个可以单机实验的功能里 都 加进了功能体验按钮,可以让用户体验本功能 的 真实效果。 其效果图见附 录 一。 UI 指令查看层 在 UI 指令查看层,总结罗列了开启每个防盗功 能的防盗指令,用户可以在这里方便快捷的得到所需防盗指令,如图 所示。 图 UI指令查看层 UI 信息 设置层 UI 的 设置层是 UI 非常重要的一 个 视图 层 ,此层要以最方便,最简约,最快捷为核心排版设计 ,而且要尽量覆盖本软件的所有功能设置。 基于以上要点,首先总结本防盗软件的设置功能如表 2。 表格 2 设置功能 所需功能 功能目的 功能体现形式 设置此功能键的意义 防盗开关 方便控制防盗功能的 开启与关闭 开关按钮 可以方便用户对防盗应用软件的控制,无需卸载就能关闭防盗 换卡锁定开关 避免因用户自己换卡执行错误指令 开关按钮 在避免发送错误指令的同时,用户也可通过此开关对锁定功能进行单独体验 换卡 短信通知开关 避免因用户自己换卡执行错误指令 开关按钮 在避免发送错误指令的同时,用户也可通过此开关对换卡短信通知功能进行单独体验 防盗密码重置 用于修改安全密码 加密形式 方便用户在首次初始化后改变防盗安全密码 安全手机号重置 用于修改安全手机号码 显示预置号码 方便用户在首 次初始化后改变防盗安全手机 按照表格 2 中的功能需求,我在设置 UI 里建立了与之相应的 5 个控件,以方便用户对软件的应用控制。 最终设计出图 的效果来实现功能。 图 UI 设置层 Function 设计 我们在 UI 的设计中了解到一款软件拥有一个美观的 UI 是多么重要,那我们该如何实现这种华丽的显示呢。 这就需要又一个很好的后台设计既功能设计。 应用初始化 初始化界面是让用户设置信息用的,所以首先我要告诉用户需要设 置的信息都有哪些,介绍完后还要在相应的位置给出用于填写信息的控件。 这里我们用 Android 中最常用的 TextView 和 EditText 两个布局控件满足需求。 并且在 EditText 里加入 hint 属性显示相关提示信息。 对于密码的设置,我们都希望处于不可见状态以保证我们个人信息的安全,我用 password 属性来控制输入时的显示状态。 在整个 UI 的最下面我还放置了两个按钮,方便用户的进一步应用和退出,此功能将用Button 控件实现。 功能选择 功能选择的 UI 主要分为两部分,可以从上到下分为两段,在布局控件中用LinearLayout 实现,并设置排版属性为垂直布局。 上半部为一个图片,下面则需要一个List 控件完成效果,整个 UI 的程序将用继承 ListActivity 类来描述已达到选项罗列的效果 [7]。 图 为 Android 的文件管理。 在 Android 中所有资源文件要统一管理并放到 res文件夹中,并把每个资源都加上各自的 ID,以方便调用。 所有的调用 ID 则会放到 gen文件夹下的 文件中进行统一遍历,我们所要的资源便可从这里索取。 例如我们的宇宙图片。 图 文件管理 功能体验 功能体验 UI 分为两层呈现。 外面一层同样用一个继承 ListActivity 的类来实现,在 list 空间里排布好每个图标和文字的位置, 这里要用到 ImageView 控件添加图片。 内层则是一个介绍体验层,这层的总体排布用 LinearLayout 的垂直分布就可以完成。 添加 Button 按钮实现用户体验功能。 功能查看 这个界面完全是文字的排布,同样用 ListActivity 加以 LinearLayout 垂直型布局就可以完成。 功能设置 功能设置 UI 为用户可操控界面,所以要使用继承 PreferenceActivity 的类来完成相应的功能,此类是 Android 专门用来 做 UI 设置界面用的,所以这个类中方法的应用也相对方便,但其布局文件与众不同,需要在 res文件中新建个 XML文件进行单独管理。 其布局空间类型主要分为 3 大类 AppWidget Provider、 PreferenceScreen 和Searchable,其中最常用的是 PreferenceScreen,在这里又包含 CheckBoxPreference、EditTextRreference 、 ListPreference 、 Preference 、 RreferenceCategory 、PreferenceScreen 和 RingtonePreference7 个控件 [8]。 我们的 UI 设置界面就用PreferenceScreen 来完成。 Service 设计 手机防盗应用软件在实际应用过程中一定是常驻后台的软件,所以不管用户是否打开软件,只要是开启了防盗功能,那此软件就会一直在后台运行,出于这样的考虑,我们就必须引进一个强大的后台支持,那就是 Service 既后台服务。 数据库存储服务 在 Android 系统中,用 于保存数据有 3种方式: SQLite、 SharedPreferences 和 File。 SQLite 是一种嵌入式系统中很常见的数据库,而且所有的数据都储存在一个文件中,便于迁移。 SQLite 有见解的 SQL 访问界面、相当快的速度,而且仅占用相对其他数据库少量的内存空间。 在 Android 平台上, SQLite 库可以用来存储应用程序中使用到的数据,还可以通过定义 Content Provider 等方式,来让其他应用程序也可以取用其中的数据 [9]。 SharedPreferences 是以键值对来存储应用程序的配置信息的一种 方式,它只能存储基本数据类型。 一个程序的配置文件仅可以在本应用程序中使用,或者说只能在同一 个包内使用,不能在不同的包之间使用。 实际上 sharedPreferences 是采用了 XML 格式将数据存储到设备中,在 DDMS 中的 File Explorer 中的 /data/data//shares_prefs 下。 File 是一种文件存储方式也是 一种较常用的方法,在 Android 中读取 /写入文件的方法,与 Java 中实现 I/O 的程序是完全一样的,提供了 openFileInput()和openFileOutput()方法来读取 设备上的文件。 具体问题具体分心,根据我们的需要与要求,本程序最终选定用 SharedPreferences来存储我们的数据。 我们将用户设置的安全密码、安全手机号、防盗功能开关状态、 SIM卡的 IMSI 码等信息以键值对的形式存入其中进行保存。 一个 Value 对应一个 Key 值,如图 所示, Key 值便是我们所保存的数据信息,这样的保存方式既快捷又准确。 用 户 信 息 名 1用 户 信 息 值O n e用 户 信 息 名 2用 户 信 息 值T w o用 户 信 息 名 3用 户 信 息 值T h r e eV a l u e K e y 图 数 据库存储方式 监听 按钮 事件服务 监听器是 Android 设计的一种监听模式,当用户执行了某些动作时,需要系统对这些动作做出相应的反应,那么这时就需要监听器来捕获这些来自用户的信息,将其传递给系统再做处理。 在我们的软件中将会运用大量的监听器,其中包括监听用户点击按钮事件、监听开机广播事件、监听短信广播事件等。 监听按钮事件,是将每个按钮绑定上一个监听器,用 ()方法来实现,当触发相应的监听器后我们就可以执行我们想要的操作了。 开机启动和短信广播服务 防盗 应用开启后会在第一时间对手机的 SIM 卡进行检查,判断时候更换。 那么这种监听开机需要另一项 Android 机制的支持来完成 —— 广播机制。 在 Android 里面有各种各样的广播,比如电池的使用状态,电话的接收和短信的接收都会产生一个广播。 图 就是一张 广播的运行机制 原理图。 B r o a d c a s tR e v e i c e r AB r o a d c a s tR e v e i c e r CB r o a d c a s tR e v e i c e r BB r o a d c a s tR e v e i c e r DA n d r o i d事 件 2事 件 1A n d r o i d 广 播 事 件 图 Android 广播机制 各种广播在 Android 系统中运行,当系统 /应用程 序运行时便会向 Android 注册各种广播, Android 接收到广播会便会判断哪种广播需要哪种事件,然后向不同需要事件的应用程序注册事件,不同的广播可能处理不同的事件也可能处理相同的广播事件,这时就需要 Android 系统为我们做筛选。 本软件就利用开机广播和短信接收广播来判断手机状态和控制手机。 GPS 服务 对于 GPS 我想大家现在都很了解,至少不会陌生,一般情况下每个装载 GPS 的设备都会由 3颗卫星进行定位,在需要时可将设备所在的位置信息发送到 GPS 上,例如返回的经纬度,有了这些位置信息我们便可进行 需要的操作 [10]。 在本应用中将会运用 Android 手机的 GPS 定位 系统,为我们 获取手机的当前位置,便于用户找回丢失的手机 私人数据的管理 当用户的手机丢失后恐怕最担心的就是自己私人信息的外露,出于此考虑,本软件将通过继承 IntentService 的类,对用户的通讯录、媒体图片进行备份并向安全手机发送,同时将原有数据删除,以防止不法分子的非法企图。 4 手机防盗 应用 方案 的 实施 按照手机防盗应用技术的设计理念,我将从 UI 入手,在做完界面的基础上 组合、衔接并加入相应的功能,最后通过 Service 实现 后 台监听、储存、处理等功能。 在实现这些功能之前我们需要先 搭建 Android 开发 环境 ,其具体操作流程见附表二。 UI 的实现 在 Android 系统中, UI 的构建主要都由 Activity 类来完成。 为了开发方便, Android又构造了多个继承 Activity 类的子类。 其中在我们的软件里用到了 ListActivity 和PreferenceActivity 两个子类和 Activity 本身。 Activity 要使用 Activity 以及其子类首先要知道 Activity 的生命周期,只有知道其生命周期的顺序才能控制好 界面的显示。 图 为 Google 官方给出的 Activity 生命周期流程图。 图 Activity 生命周期 在本软件中有 8个 UI 直接通过继承 Activity 类构成,他们的应用方法大同小异,我就拿其中最复杂的初始化界面来介绍。 初始化界面的整体设计 流程 图如图 所示。 创 建 F i r s t 类覆 写 o n C r e a t e 方 法声 明 并 得到 B u t t o n控 件为 每 个B u t t o n 绑定 监 听 器用户点击按钮事件setContentView显示界面等 待 用 户 点 击事 件NYL a y o u t提 供 控件判 断 密 码 是 否不 为 空提示输入状态错误判 断 密 码 是 否合 法判 断 手 机 号 是否 合 法判 断 手 机 号 是否 不 为 空判 断 两 次 密 码是 否 一 致YYYYNNNNNe。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。