基于J2EE技术和MVC框架的Android手机安全卫士APP设计与实现

Blackbox

发布日期: 2018-11-05 18:44:09 浏览量: 533
评分:
star star star star star star star star star star
*转载请注明来自write-bug.com

1 目标

伴随智能手机的不断普及,移动互联网的快速发展,伴随着3G时代的到来,智能手机的广泛应用,手机安全问题被越发关注。系统的主要功能在于防止外来的骚扰和便于内部的管理,就外来而言我们实现了对黑名单号码的电话和短信屏蔽,而对内而言,用户通过安全卫士软件可以便捷地对手机进行监控和管理,如一键关闭后台,流量监控等,最终实现还用户一个清净安全的手机使用体验。

2 总体功能概述

  • 定义主界面的图标和图标下相关文字,并可以自动联网进行检查更新,也就是说可以完成与服务器的交互,并不单一只是本地化单机软件

  • 可导入手机自带联系人信息,并可以将联系人设置黑名单或白名单处理,黑名单下的联系人来电可自动挂断

  • 黑名单下的联系人的短信拦截,拦截后短信不再显示在收件箱里,转而显示在“手机卫士”相关功能下

  • 程序锁功能,程序锁上锁的软件只可通过输入正确的密匙才可打开运行,否则无法打开,保护手机拥有者的个人隐私

  • 后台程序清理和管理功能,清理后台运行的不必要的进程,以节省内存

  • 流量管理模块,在用户设置了流量套餐后,对用户手机流量进行实时监控,并在相应时间做出流量预警,以提醒使用者

3 整体软件构架设计

  • 软件对象:安全卫士主要是对面用户,开发人员,数据库三者的一个全面的系统,其中包括,用户使用系统进行日常的手机保护和使用,而开发人员进行系统的更新和维护,数据库进行黑名单数据存储和通讯录、电话号码归属地等相关信息的存储

  • 系统功能设计:安全卫士包含了号码归属地查询,流量监控,应用程序管理,防骚扰,黑名单管理等功能,其中应用程序管理就有分为程序锁,一键关闭后台,程序分享等子功能。同时开发人员还承担了对软件进行维护更新的指责

4 技术体系设计

我们将使用Eclipse完成代码的编写,利用J2EE技术架构完成Java部分的结构搭建。

Java 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。Java是功能完善的通用程序设计语言,可以用来开发可靠的、要求严格的应用程序。

MVC(Model View Controller):整体项目采用MVC框架进行设计和开发,一种软件设计典范,用一种业务逻辑和数据显式分离的方法组织代码,将业务逻辑被聚集到一个部件里面,在界面和用户围绕数据的交互能被改进和个性化定制的同时而不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。MVC开始是存在于桌面程序中的,M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。

SQLite数据库: SQLite是一个非常流行的嵌入式数据库,它的SQL界面非常简洁,内存占用少,速度快。对于Android,SQLite已经“融入”到Android运行时,因此所有Android应用程序都可以创建SQLite数据库。由于SQLite使用SQL界面,对于有基于其他SQL数据库使用经验的用户而言,它的使用非常简单直接。

5 数据结构设计

数据库中主要存储黑名单数据,通讯录信息,应用程序状态信息,号码归属地这四项信息,详情见后面的数据详细设计。

5.1 软件系统构架图

5.2 构件图

5.3 部署图

5.4 流程图

总流程图

黑名单流程图

检查更新流程图

软件管理流程图

手机防盗流程图

6 详细设计

6.1 主界面

用户界面

时序图

类图

用户界面

6.2 检查更新

用户界面

时序图

类图

6.3 手机防盗

用户界面

时序图

类图

6.4 流量管理

用户界面

时序图

类图

6.5 应用程序缓存管理

用户界面

类图

6.6 程序管理

用户界面

时序图

类图

6.7 程序锁

用户界面

类图

6.8 进程管理

用户界面

类图

6.9 电话归属地

用户界面

时序图

类图

6.10 通讯管理

用户界面

时序图

类图

7 系统数据结构设计

7.1 逻辑结构设计要点

7.2 用户信息表(user)

用户(用户编号,用户账号,密码,头像,性别,地址,电话,Email,注册时间)

序号 字段含义 类型 长度 默认值 允许空 主键 说明
1 用户编号 int 11 1 自动递增
2 用户账号 varcher 32
3 密码 char 18
4 头像 varchar 32
5 性别 varchar 2 1
6 地址 varchar 255
7 电话 varchar 20
8 Email varchar 50
9 注册时间 datatim 32

7.3 来电归属地表(from)

电话归属地(电话号码,来电次数,来电归属)

序号 字段含义 类型 长度 默认值 允许空 主键 说明
1 电话号码 int 20
2 来电次数 Int 100
3 来电归属 char 40

7.4 程序管理表(program)

程序(程序名,目前状态,描述,具体信息)

序号 字段含义 类型 长度 默认值 允许空 主键 说明
1 程序名 varcher 11 1
2 目前状态 varcher 32
3 描述 varcher 18
4 具体信息 varchar 32

7.5 流量管理表(rate)

流量(套餐含有,实际使用,日期,日均使用,实际与设定差值)

序号 字段含义 类型 长度 默认值 允许空 主键 说明
1 套餐含有 int 100 0
2 实际使用 Int 100
3 日期 Datetime 40
4 日均使用 Int 100
5 差值 Int 100 1

7.6 用户黑名单表(usr_blist)

用户黑名单(编号,加入时间,加入的号码)

序号 字段含义 类型 长度 默认值 允许空 主键 说明
1 编号 int 11 1 自动递增
2 加入时间 varcher 32
3 加入号码 Int 18

7.7 产品评论表(goods_comment)

评论表(编号,用户账号,商品编号,星级,评论时间,状态,评论内容)

序号 字段含义 类型 长度 默认值 允许空 主键 说明
1 编号 int 11 1 自动递增
2 用户账号 varcher 32
3 产品编号 char 18
4 星级 varchar 32
5 评论时间 varchar 40
6 状态 varchar 255
7 评论内容 varchar 20

码归属地的ER图

黑名单服务的ER图

7.8 数据库的逻辑结构设计

逻辑结构设计的任务

数据库逻辑设计的任务是将概念模型转换成特定的DBMS所支持的数据模型的过程。从E-R图所表示的概念模型可以转换成任何一种具体的DBMS所支持的数据模型,这里只介绍E-R图如何向关系模型进行转换,一般的逻辑结构设计分为一下三步,如图所示。

逻辑结构设计的模式

概念设计中得到的E-R图由实体、属性和联系组成的,而关系数据库逻辑设计的结果是一组关系模式的集合。所以将E-R图转换成关系模型实际上就是将实体、属性和联系转换成关系模式。转换要遵循以下原则。

一个实体转换为一个关系模式,实体的属性就是关系的属性,实体的键就是关系的键。

一个联系转换成一个关系模式,与该联系相连的各实体的键以及联系的属性均转换为该 关系的属性。该关系的键有三种情况:

  • 如果联系为1:1,则每个实体的键都是关系的候选键

  • 如果联系为1:m,则n端实体的键是关系的键

  • 如来联系为n:m,则各实体键的组合是关系的键

7.9 数据结构与程序的关系

数据结构为关系型数据库,所以在程序中可以用标准的SQL语句与数据结构进行交互,交互过程中采用通用的数据反问接口。为了保持良好的程序架构,对数据库访问采用DAO设计模式实现,提高维护性和扩张性。

上传的附件 cloud_download 基于Android的手机安全卫士设计与实现.7z ( 10.85mb, 3次下载 )
error_outline 下载需要20点积分

发送私信

一个人的喜悦,无非是岁月静好,现世安稳

10
文章数
11
评论数
最近文章
eject