基于Android平台手机短信防火墙的---毕业论文_第1页
基于Android平台手机短信防火墙的---毕业论文_第2页
基于Android平台手机短信防火墙的---毕业论文_第3页
基于Android平台手机短信防火墙的---毕业论文_第4页
基于Android平台手机短信防火墙的---毕业论文_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本 科 毕 业 论 文基于Android平台手机短信防火墙的设计与实现The Design and Implementation of Message Firewall for Mobile Phone Based on Android OS姓 名:学 号:学 院:软件学院系:软件工程专 业:软件工程年 级: 指导教师: 年 月摘要Android OS是Google公司开发的基于Linux平台的开源手机操作系统,由于Android完全开放、自由的特性,从2008年9月24日第一款Android手机上市,根据手机市场分析机构AdMob的数据,在短短的一年的时间里,谷歌的Android已经占据手机操作系统市场7%的份额。市场调研机构Gartner预计,到2012年,Android将成为全球第二大手机操作系统,占据18%的市场份额。然而android却缺少一些常见的系统应用软件的支持,比如来电和短信防火墙。特别在垃圾短信泛滥的今天,一款好的短信防火墙已经是必不可少。传统的短信防火墙作为必要的系统应用软件,能够拦截恶意骚扰短信和保护个人隐私短信。然而传统的防火墙的短信过滤效果并不理想,主要原因在于不同用户的过滤规则不同,系统必须支持用户自定义过滤规则的功能,即使支持用户自定义过滤规则,往往由于设置过于复杂,用户放弃使用。另外,传统的短信防火墙缺乏灵活的用户自定义短信拦截模式。总之,传统短信防火墙在满足不同用户的需求方面,仍然显得差强人意。论文设计并完成基于Android平台手机短信防火墙的实现。该系统的优势在于操作简单,提供各种日常使用的短信拦截模式,支持用户自定义短信拦截模式;系统提供即时的垃圾词汇过滤词典更新下载服务,用户创建适合自己的垃圾词汇过滤和号码过滤词典;另外,系统支持自动短信回复和隐私短信管理等常见功能。该系统配合来电防火墙,通过将软件在PC上进行仿真并最终在手机上进行综合测试,验证各个应用功能的正确性和稳定性。关键词:Android OS;短信防火墙;垃圾词汇过滤VAbstractAndroid OS is a Linux-based open source mobile phone operating system developed by Android OS. Because of fully open and free features, from September 24, 2008 the first android phone marketed, In just one years time, Android mobile operating system has accounted for 7% market share, according to mobile phone market analysts AdMobs data. Market research firm Gartner predicts that by 2012, Android will become the worlds second-largest mobile phone operating system, accounting for 18% of the market. However android system lack of some of the common application software support, such as calls and SMS firewall. Especially in the flood of spam messages today, a effective SMS firewall is essential. As the necessary system application software, the traditional SMS firewall system can block malicious harassment SMS and protect privacy message. However, the traditional SMS firewalls filtering effect is not satisfactory, mainly due to the different users of different filtering rules. So, the system must support user-defined filtering rules, but even if the system has the support of user-defined filtering rules, many users refuse to use due to the complex setting. On the other hands, the traditional SMS firewall lacks of user-defined block patterns. In short, the traditional SMS firewall still seems far from satisfactory to meet the needs of different users.The paper designs and implements a new SMS firewall based on android operating system. The system provides simple operation, a variety of daily used SMS interception pattern and user-defined SMS interception pattern. Moreover, the system provides real-time update service of downloading spam word dictionary. User can create effective spam numbers and words dictionary. In addition, the system supports automatic SMS reply and privacy message functions and so on. Combined with call firewall, the software simulates on PC and test on mobile phone at last to verify the correctness and stability of the whole application.Key words: Android OS;SMS firewall;Spam word filter 目 录第一章 绪论11.1课题研究背景11.2研究意义11.3本文的创新之处、主要工作21.4论文结构3第二章 背景知识介绍52.1 Android OS介绍52.1.1 Anroid的优点52.1.2 Android系统架构52.2 Anroid应用程序开发72.2.1 主要组件介绍72.2.2 SQLite数据库92.2.3 程序开发环境92.2.4 手机模拟器配置92.3 本章小结10第三章 系统总体设计113.1 需求分析113.1.1 主体功能113.1.2 限制与约束133.2 总体设计143.2.1设计目标143.2.2 模块划分143.2.3系统流程153.3 开发环境173.4本章小结17第四章 系统详细设计194.1数据库设计与实现194.1.1数据库E-R图194.1.2 数据表的设计214.2系统各个模块的设计与实现234.2.1 启动设置模块234.2.2 模式管理模块274.2.3 分组管理模块294.2.4记录管理模块334.3后台服务的设计与实现364.3.1联系人同步服务的实现364.3.2短信服务384.3本章小结42第五章 系统安装测试455.1系统安装455.2 系统测试455.2.1测试环境455.2.2测试方案455.2.3测试结果465.3 本章小结53第六章 总结与展望556.1论文总结556.2 展望55参考文献56致 谢58ContentsChapter 1 Introduction11.1 Research background11.2 Research significance11.3 Innovaction place and major work21.4 The structure of this paper3Chapter 2 Technical Foundation52.1 Android OS introduction52.1.1 The advantage of Anroid52.1.2 System Architecture of Android52.2 Anroid Application Development72.2.1Main components introduction72.2.2 SQLite database92.2.3 Program development environment92.2.4 Mobile simulator configuration92.3 Summary10Chapter 3 System Design113.1 Requirement analysis113.1.1 Main functions113.1.2 Limitations and constraints133.2 Design143.2.1Design Target143.2.2 Module partition143.2.3 System process153.3 Development environment173.4 Summary17Chapter 4 Detailed design of the system194.1 Database Design and Implementation194.1.1 Datebase E-R chart194.1.2 Database tables design214.2 System Design and Implementation of each module234.2.1 Setting module234.2.2 Pattern management module274.2.3 Group management module294.2.4 Records management module334.3 Design and implementation of background services364.3.1 Realization of contact synchronization service364.3.2 Realization of SMS service 384.4 Summary42Chapter 5 System installation and testing455.1 System installation 455.2 System testing455.2.1 Test environment455.2.2 Test plan455.2.3 Test result465.3 Summary53Chapter 6 Conclusion and Outlook556.1 Paper Summary556.2 Improvements and future works55References56Acknowledgements58第一章 绪论第一章 绪论1.1课题研究背景随着手机的普及和手机功能的日益强劲,尤其是3G网络的快速发展,越来越多的手机用户开始通过手机这个移动平台来进行日常管理与上网,根据新华网的报道,截止2009年5月底,全国移动电话用户数已达到6.8亿。1人们利用手机上社交网站,浏览新闻,搜索地图和旅游信息,玩游戏等,手机日益满足用户的需求,逐渐具有与普通电脑一样的功能。但是据中国通信学会发布2007年手机短信息调查报告显示,截至2007年底,我国手机用户全年的垃圾短信总量已经达到3538亿条,与06年相比增加了1702亿,增幅92.7%。用户平均每周收到垃圾短信的数量是12.44条,与06年同期的8.29条相比增加了4.15条。其主要内容大多是号码中大奖,代办各种车牌、证件、信用卡、倒卖黑车、枪支弹药等。2垃圾短信通常采用群发的方式,运营商不可能通过内容过滤运作,因为有侵犯隐私之嫌,通过用户大量发送短信来确定同样不妥,因为用户可能因其他原因群发短信,如社交网络,此外中国人在春节等节日期间会大量群发短信。即使运营商通过限制发送数量的办法来控制恶意的群发,也只能是杯水车薪。而且目前我国法律也缺乏对该种行为的处罚条文。因此,垃圾短信严重干扰了用户的生活,使用户上当受骗。Android OS是Google公司开发的基于Linux平台的开源手机操作系统,由于Android完全开放、自由的特性,从2008年9月24日第一款android手机上市,根据手机市场分析机构AdMob的数据,在短短的一年的时间里,谷歌的 Android已经占据全球手机操作系统市场7%的份额。市场调研机构Gartner预计,到2012年,Android将成为全球第二大手机操作系统,占据18%的市场份额。然而android却缺少一些常见的系统应用软件的支持,比如短信防火墙。本文描述的基于Android 操作系统的手机短信防火墙系统就是在这样的背景中提出的。1.2研究意义因为垃圾短信的泛滥和不易监督管理,短信防火墙已经成为手机必备安装的应用软件。传统的短信防火墙能够拦截恶意骚扰短信和保护个人隐私短信。然而传统的防火墙的短信过滤效果并不是很理想,有些不需要过滤的短信也被过滤掉,主要原因是因为不同行业的用户的短信过滤规则不同,一般防火墙没有提供用户自定义过滤关键词的功能,即使支持用户自定义关键词,往往由于需要用户手动设置复杂的关键词,用户放弃使用。本文描述的系统支持号码和内容过滤,提供不同行业的关键词过滤词典,用户还可以根据自己经常收到的垃圾短信提取垃圾词汇编辑过滤词典。在某些特殊场合下,如开会、睡觉时刻,用户需要自动屏蔽短信并增加自动回复短信的功能,对于屏蔽掉的短信能够发出友好的提醒。本文描述的系统支持用户自定义特殊场合的短信拦截规则,同时可以设置自动回复短信的内容,对于因为特殊场合而拦截的短信给予用户友好的提醒。另外,短信涉及用户的隐私,本文描述的系统支持保护用户的隐私短信记录,除非经过用户的密码输入,否则不能查看。随着3G时代的到来,手机的应用将日益普遍,短信作为手机的最基本功能,垃圾和诈骗短信的泛滥将对用户生活带来越来越大的影响,如何有效拦截这新垃圾信息已经刻不容缓了,因此短信防火墙的研究也就具有了更多的现实意义。1.3本文的创新之处、主要工作本文作者在深入了解了Android操作系统的功能特点,熟练掌握系统开发的关键技术以后,实现一个面向用户定制的相对比较完整的Android操作系统手机短信防火墙系统。具体工作如下:1、 根据短信防火墙的拦截规则,充分考虑手机平台的约束和用户使用的方便,对手机短信防火墙应该具有的功能进行了分析,形成系统的需求分析说明。这部分工作主要在第三章的前半部分体现。2、 在系统需求分析说明书的基础上,以Android 操作系统应用开发的关键技术为支撑,对系统进行了细致的规划与设计,完成了系统的总体框架结构和各个模块的划分工作。其中,短信过滤和自动回复等功能作为系统核心部件作为服务运行在系统的后台,时刻管理短信。系统的管理模块分为启动设置模块,模式管理,日志管理和分组管理等。以上工作主要在第三章的后半部分体现。3、 明确了系统的总体框架结构和功能模块以后,深入分析垃圾短信的特点,设计并实现了用户自定义的号码和关键词过滤功能。这部分工作主要在第四章体现。4、 针对不同用户的需求不同,支持用户创建自定义的短信拦截和响应模式。这一工作主要在第四章体现。5、 形成了系统的详细设计说明书,并且在此基础上对系统的各个模块进行了编码实现工作。本论文设计的系统具有真正实现用户定制的短信防火墙,方便用户使用,设置规则简单。1.4论文结构全文共分为六章,对基于Android操作系统的手机短信防火墙的设计和开发进行了详细的描述,本文作者的工作主要集中在第三、四、五章。论文结构如下:第一章是全文的绪论。主要介绍本文的课题背景、研究意义,并指出作者的主要工作和创新点。第二章是背景知识介绍。主要介绍了Android操作系统的特点以及Android应用开发中所用的关键技术。第三章是系统的需求分析和总体设计。对短信防火墙具有的功能进行描述。接着介绍了系统的模块划分、系统架构、系统流程以及系统开发和运行的环境。第四章是系统的详细设计与实现。第五章是系统安装与测试。第六章是总结和展望。对全文做出系统全面的总结,并对今后需要进一步研究的方向做了展望。3第二章 背景知识介绍59第二章 背景知识介绍2.1 Android OS介绍什么是Android呢?Anroid官方网站解释,“Android is a software stack for mobile devices that includes an operating system, middleware and key applications.” 3即Anroid为移动设备采用软件堆层的架构,包括一个操作系统,中间件和关键的应用程序。由于Anroid是基于Linux平台的开源手机操作系统,所以他为移动终端打造了真正开放和完整的移动软件。2.1.1 Anroid的优点与其他手机操作系统相比,Android有4个无可比拟的优点:4开放性:Android是一个真正意义上的开放性移动开发平台;(1) 所有应用程序平等:所有的应用程序都运行在一个核心引擎上面,抛开这个核心引擎,Android的所有其他东西,包括系统的核心应用和第三方的应用都是完全平等的;(2) 应用程序间无界限:Android打破了应用程序之间的界限,开发人员可以把Web上的数据与本地的联系人、日历、位置信息结合起来,创造全新的用户体验,此外,应用程序不仅可以通过标准API访问核心移动设备功能和因特网,还可以声明它们的功能可以供其他应用程序使用;(3) 快速方便的应用程序开发:Android平台为开发人员提供了大量的实用库和工具,开发人员可以快速地创建自己的应用程序。2.1.2 Android系统架构从软件分层的角度来看,Android平台是由Linux内核、库、Android运行时、应用程序框架以及应用程序构成5,如图2.1所示。以下分别介绍各层内容。1、应用程序Anroid平台包含一系列的核心应用程序,包括电子邮件、短信、日历、地图、浏览器、联系人管理程序等,都是以Java程序语言编写的,本文开发的系图2.1 Andoroid OS系统架构统就是属于这一层的应用程序,这是由下一层的应用程序框架来保证的。2、应用程序框架 应用程序框架层是进行Anroid开发的基础,开发人员大部分情况下也是和应用程序框架层打交道。在Anroid中,任何一个应用程序都可以发布自身的功能块,而其他应用程序可以使用已发布的功能块。基于这样的重用机制,用户可以很方便地替换平台本身的各种应用程序组件,这在Symbian以及Windows Mobile平台都是无法想象的。3、Anroid运行时 Anroid运行时包括核心库和Dalvik虚拟机两部分。核心库包括了核心的java功能函数和Anroid的核心库。与标准Java不同的是,每个Anroid程序都有一个自有的进程,每个Anroid应用程序都有一个自有的Dalvik虚拟机来执行。Dalvik是一种基于寄存器的Java虚拟机,而java虚拟机JVM是基于堆栈的。Anroid采用寄存器的方式是因为它对提前优化(ahead-of-time optimization)提供了更好的支持,而这对类似于移动电话这样的受限环境是颇有裨益的。 针对基于寄存器虚拟机和基于堆栈虚拟机更深入的比较分析指出,基于寄存器的虚拟机对于更大的程序来说,在它们编译花费的时间更短6。4、系统库应用程序框架是贴近于应用程序的软件组件服务,而更底层则是Anroid的函数库,这一部分是应用程序框架的支撑。5、linux内核 采用Linux内核是Android平台开放性的基础。Anroid OS是基于Linux-2.6.25内核开发的,主要是添加了一个名为Goldfish的虚拟CPU以及Android运行所需的特定驱动代码7。该层用来提供系统的底层服务,包括安全机制、内存管理、进程管理、网络堆栈及一系列的驱动模块。作为一个虚拟的中间层,该层位于硬件和其他软件层中间。需要注意的是,这个操作系统并非类GNU/Linux的,所以其系统库、系统初始化和编程接口都和标准的Linux系统是有所不同的,没有虚拟内存文件系统,采用的是YAFFS2文件系统。YAFFS(Yet Another Flash File System)文件系统是一个开源的,专门为NAND Flash设计的文件系统,具有很好的可移植性,也是一种日志型文件系统,能够在Linux,uCLinux,和WindowsCE上运行。YAFFS目前有YAFFS和YAFFS2两个版本,一般说来,YAFFS对小页面(528字节/页)有很好的支持,而更大的页面(2K+64字节/页)就需要YAFFS2了。作为新一代智能手机平台,Anroid需要支持超大容量(总容量超过512M字节)的NAND Flash,所以采用支持大页面的YAFFS2文件系统8,9。2.2 Anroid应用程序开发2.2.1 主要组件介绍对于一个Android应用程序10-12来说,是由Activity、Intent Receiver、Service、Content Provider四部分组成,但并不是每一个Android应用程序都必须由这四部分组成。在应用程序中使用时,需要在配置文件AndroidMainfest.xml中进行配置。这个配置文件是每个Android应用程序所必需的,用于定义应用程序的组件、组件的功能以及必要条件等。Android应用的构成和工作流程图如图2.2所示:图2.2 Andoid 应用程序组件交互图Activity13是构成应用程序中最重要的构造块,在Android应用程序中,几乎都是通过Activity来与用户进行交互,所以Activity主要负责的就是创建与用户进行交互的显示窗口,你可以在这些窗口里通过调用setContentView(View)方法来显示你自己的用户界面。活动(Activity)在系统中以活动栈的形式进行管理。当一个新的活动启动后,它被放到了栈顶,成为了运行活动,而新活动之前的活动在活动栈里总位于新活动之下,直到新的活动退出才重新回到前台。Android使用了Intent类来实现活动之间的切换工作。Intent负责对应用中一次操作的动作、动作涉及的数据和附加数据进行描述。根据Intent的描述,负责找到对应的组件,将Intent传递给调用的组件并完成组件的调用。因此,Intent起着一种媒体中介的作用,专门提供组件互相调用的相关信息,实现调用者与被调用者之间的解祸。在应用中,我们可以以两种形式来使用Intent:直接Intent,指定了component属性的Intent,通过指定具体的组件类,通知应用启动对应的组件;间接Intent,没有指定component属性的Intent,则需要包含足够的信息,这样系统才能根据这些信息,在所有的可用组件中,确定满足此Intent的组件。Intent Receiver是用于对外部事件的响应,当外部事件发生时,会使用Notification Manager通知用户。当一个Intent Receiver被触发时,系统会在需要的时候启动对应的应用程序。如在本系统中,当用户正在其它界面进行操作时,有好友发送消息过来,就会以通知的形式发送到当前界面的正上方来通知用户。各种应用还可以通过使用context.broadcastIntent()将它们的Intent Receiver广播给其它的应用程序,实现应用之间的通讯。Service是不带UI提供连续信息的应用程序。它是运行于应用程序后台的服务,在用户进行其它活动的时候,这个服务将一直运行在后台直到用户停止该服务或服务运行结束。Content Provider应用程序能够将它们的数据保存到文件、SQL数据库和其它的存储设备中。当应用程序需要使用存储设备中的数据时,可以使用Content Provider来完成。使用Content Provider能够灵活的替换底层使用的存储设备,使开发者可以专著于应用逻辑的开发,不用考虑底层存储设备的细节,从而使应用系统具有良好的数据迁移性。2.2.2 SQLite数据库SQLite是D.Richard Hipp用C语言编写的开源嵌入式数据库引擎。Android选择它作为移动终端的嵌入式数据库有以下优点,它无需安装和管理配置,它是一个存储在单一磁盘文件中的完整数据库,体积小只有250KB,但支持数据库大小至2TB,提供了对事务功能和并发处理的支持,而且比目前流行的大多数数据库运行速度快 14。2.2.3 程序开发环境Android应用程序开发可以选择Eclipse或MyEclipse作为集成开发环境,但必须事先完成插件安装和SDK配置。插件ADT的安装:运行“HelpSoftware UpdatesFind and Install”,选择Add Site,输入“/android/eclipse/”,再根据提示完成安装。SDK配置:运行“WindowPreferences”,选择Android,在SDK Location中填入安装SDK的路径。2.2.4 手机模拟器配置Android模拟器能够模拟除了接听和拨打电话外的所有移动设备上的典型功能和行为。Android模拟器提供了大量的导航和控制键,开发者可以通过鼠标或键盘点击这些按键来为你的应用程序产生事件,同时它还有一个屏幕用于显示Android自带应用程序和开发的应用程序。为了便于模拟和测试应用程序,Android模拟器允许应用程序通过Android 平台服务调用其他程序、访问网络、播放音频和视频、保存和接受数据、通知用户、渲染图象过渡和场景,能够记录内核输出的控制台、模拟程序中断(比如接收短信或打入电话)、模拟数据通道中的延时效果和遗失。运行Eclipse或MyEclipse的 “WindowAndroid SDK and AVD Manager”进行模拟器管理。2.3 本章小结在绪论中,我们提出利用andorid技术开发短信防火墙,本章就android开发中的关键技术做了详细的介绍。首先论文介绍了简单概述了android OS的定义,阐述了anroid OS相对于其他手机OS的优势。紧接着介绍了android OS系统架构的五个方面,包括应用程序、应用程序框架、anroid运行时、库以及Linux内核。其次,论文介绍了Anroid开发的主要组件,主要包括Activity、Intent Receiver、Service、Content Provider四部分组件,这是我们程序开发的基础组件。紧接着简要介绍了SQLite数据库。最后,论文介绍了程序开发的环境和如何在pc机上使用手机模拟器进行仿真。致 谢第三章 系统总体设计3.1 需求分析考虑到手机操作的简单与局限,该系统的界面操作应该简便,因此我们提供最常用的功能,如垃圾短信拦截功能,黑名单,隐私短信管理等等。根据不同用户的需求不同,我们提供各种日常使用的短信拦截模式,而且用户可自定义短信拦截模式;另外,系统提供即时的关键词汇过滤词典更新下载服务,用户可从已有的垃圾短信选择垃圾词汇创建适用个人的关键词汇过滤和号码过滤,因此论文设计的系统操作简单,但是功能强大,可以满足不同用户的需求。3.1.1 主体功能本系统的主要功能有:启动设置、模式管理、分组管理、日志管理。具体说明如下:1、 启动设置:启动类型(自动/手动);服务状态(启动/停止);服务范畴(来电/短信/全部);运行模式(统一/分组/特权/);系统密码设置等。功能定义如图3.1示。图3.1 启动设置2、 模式管理:用户选择统一模式、分组模式、特权模式的一种,或者可以自定义模式,在各个模式下设置相应的响应规则。响应规则主要有是否提醒用户,是否自动回复短信,是否关键词过滤。统一模式是对所有用户进行相同的响应处理;分组模式是分别设置各个组的响应方式;特权模式是对特权组的成员按特权组的方式响应,其他成员按照统一模式的设置规则处理。功能定义如图3.2所示。图3.2 模式管理3、 分组管理:各个分组的响应方式管理和成员管理,系统默认提供的分组有“黑名单”、“特权组”和“陌生人”,用户可以创建自定义分组,并可以设置组是否为隐私保护,如果是隐私保护组,需要输入密码方可查看编辑。功能定义如图3.3所示。图3.3 分组管理4、 日志管理:管理拦截的短信记录、关键词过滤规则设置和隐私记录管理。对拦截的短信提供“短信回复”、“恢复”、“删除”,“全部清除”等多种操作;对关键词过滤,可手动添加关键词汇,也可从服务器下载垃圾词汇。功能定义图如图3.4所示。图3.4 日志管理3.1.2 限制与约束1、手机屏幕显示面积有限,例如android标准手机屏幕分辨率为320480,防火墙各个功能的处理要符合手机用户的视觉习惯和使用习惯。要求尽量能够在一屏幕中显示所有要显示的信息,不要让用户频繁使用方向键。2、手机本身的存储能力有限,要求系统在保证功能实现的情况下尽量简化。因为系统中最耗费存储资源的是拦截记录和垃圾词汇词典,所以在设计拦截记录文件和词典的结构时要充分考虑这一点。3、手机的CPU计算能力有限,在设计手机模式的匹配,垃圾词汇拦截要考虑对相关算法的优化。3.2 总体设计3.2.1设计目标建立基于Android OS平台的手机短信防火墙系统,能够对垃圾短信进行过滤,提供对隐私短信的保护,并可在用户忙时开启自动回复短信的功能。本系统的主要技术指标如下:1、 短信过滤功能能够有效的拦截垃圾短信。2、 拦截的短信记录能够有效的提示用户的注意。3、 短信过滤词典能够在线下载。4、 黑名单号码的短信可以有效地拦截。5、 用户可以自定义拦截模式。6、 隐私短信记录能够有效地拦截到隐私短信。3.2.2 模块划分参考系统分析中模块划分的基本原则:独立性(紧内聚)、接口简化(松耦合)、分析处理、容易合并和可测试性,并且通过分析本系统的主要功能,本系统主要模块划分如下: 启动设置模块 模式管理模块 日志管理模块 分组管理模块系统功能模块图如图3.5所示:图3.5 系统功能模块图3.2.3系统流程系统按照图3.6的工作流程来处理接收的短信事务。系统流程分步骤说明如下:1、 当用户收到短信,首先判断短信防火墙服务是否打开。如果没打开,则正常接收或发送短信;如果打开,则按照短信防火墙的设置规则进行工作。2、 短信的号码如果是黑名单中的号码,则对该短信进行拦截,拦截规则是不接受黑名单的短信,也不提示用户,也不放入拦截记录里,直接删除该短信。3、 对于不是黑名单的号码,匹配用户选择的模式和当前模式采用的短信策略。系统有三种短信拦截策略,分别是统一策略,特权策略,分组策略,根据各个模式和策略的响应规则进行过滤。图3.6 系统流程图4、 如果是统一策略的话,响应方式有:是否关键词过滤,设置自动回复短信,是否静音提醒。对所有的短信统一处理。5、 如果是特权策略的话,相应方式如下:对于如果是特权组的号码,采用特权组的响应方式;对于不是特权组的号码,采用统一策略响应的方式。6、 分组策略的响应方式如下:根据号码寻找所属的组,根据该组的响应规则匹配。7、 如果不属于任何一个组的号码,判断是否是陌生号码,如果是陌生号码,按照陌生号码组的响应方式过滤;如果不是陌生号码,则按照普通联系人的方式响应。3.3 开发环境Android OS 应用开发环境由三个软件组成,本项目采用的三个软件版本信息及基本功能如下: Java Development Kit 6.0,构建java环境,用于模拟器调试等。 Android 2.0 SDK,是android应用程序的软件开发包。 MyEclipse 7.0,是应用程序的集成开发环境。3.4本章小结本章主要是对手机短信防火墙系统进行需求分析和总体设计,具体内容如下:1、 需求分析中列举了系统所具有的主体功能。2、 总体设计中首先介绍了系统的设计目标,并且对系统进行了模块划分,确定了系统的工作流程以及系统开发环境。第四章 系统详细设计4.1数据库设计与实现4.1.1数据库E-R图本系统结合来电防火墙系统,数据库的实现使用SQLite数据库,数据库设计的重点是支持用户自定义模式以及支持每个模式下各个分组的不同的响应方式,又考虑到手机数据库的设计不可过于复杂,系统设计了一个易于扩展,同时又满足业务需求的简便数据库,数据库E-R图设计如下图4.1所示:系统各个数据表的说明如下:Setting表存储了系统相关设置的记录,包括启动类型、服务状态、服务范畴、运行模式和系统密码等属性。Pattern表存储了各个模式信息,系统默认提供统一模式、特权模式和分组模式,用户自定义的模式也存储在这里。模式包括短信拦截子模式和来电拦截子模式两种,这两种子模式在SeedPattern表体现。SeedPattern表存储了各个子模式以及各个子模式的适用范围(短信拦截或来电拦截)和采取的策略。PatternType表存储了各个子模式采用的策略,包括统一策略、分组策略、特权策略。MessagePattern表存储了短信子模式记录,包括子模式的名称,响应方式的外键引用和所属的组,如果不是分组模式,则所属的组为空。CallsPattern表存储了来电子模式记录,详细见来电防火墙设计与实现一文,在这里不深入阐述。CallsAnswerType表存储了各种来电响应方式,详细见来电防火墙设计与实现一文,在这里不深入阐述。AnswerStyle表存储了各种来电响应类别,比如接收、拒接、转接等等,详细见来电防火墙设计与实现一文,在这里不深入阐述。Group表存储了组的信息,包括组的名称和组是否受到保护,如果受到保护,则进入该组必须输入密码。图4.1 系统数据库E-R图设计User表存储了用户号码的相关信息,包括号码、用户姓名、号码类型等等。这个表是和android手机的通讯录相对应的。UserGroup表存储了号码和组的对应关系。考虑到用户操作的简便,我们规定一个号码只能属于一个组。MessageAnswerType表存储了各种短信响应方式,包括是否关键词过滤、是否提醒、自动回复短信内容等等。4.1.2 数据表的设计数据库的各个数据表设计如下所示。表4-1 系统参数数据库表(SETTING)定义字段含义字段名字段类型长度备注数据库表ID_idINTEGER主键(自增长)设置名称SETTINGNAMEVARCHAR20系统设置启动类型STARTUPTYPEINTEGER自动/手动服务状态SERVICESTATEINTEGER运行/停止服务范畴SERVICESCOPEINTEGER无/来电/短信/全运行模式RUNNINGPATTERNINTEGER外键(引用)系统密码PASSWORDVARCHAR20表4-2 运行模式供选表(PATTERN)定义字段含义字段名字段类型长度备注数据库表ID_idINTEGER主键(自增长)模式名称PATTERNNAMEVARCHAR20来电处理模式CALLSPATTERNINTEGER外键(引用)短信处理模式MESSAGEPATTERNINTEGER外键(引用)表4-3模式实例表(SEEDPATTERN)字段含义字段名字段类型长度备注数据库表ID_idINTEGER主键(自增长)模式实例名称SPNAMEVARCHAR20应用方向APPLYFIELDINTEGER来电/短信处理策略PATTERNTYPEINTEGER外键(引用)表4-4处理策略表(PATTERNTYPE)字段含义字段名字段类型长度备注数据库表ID_idINTEGER主键(自增长)策略名称PTNAMEVARCHAR20表4-5来电模式表(CALLSPATTERN)字段含义字段名字段类型长度备注数据库表ID_idINTEGER主键(自增长)来电模式名称CPNAMEVARCHAR20来电铃声CPRINGVARCHAR255铃声路径所属模式实例SEEDPATTERNINTEGER外键(引用)来电响应方式ANSWERTYPEINTEGER外键(引用)响应内容CONTENTVARCHAR255回复短信内容等适用的分组GROUPINTEGER外键(引用)表4-6短信模式表(MESSAGEPATTERN)字段含义字段名字段类型长度备注数据库表ID_idINTEGER主键(自增长)短信模式名称MPNAMEVARCHAR20所属模式实例SEEDPATTERNINTEGER外键(引用)短信响应方式ANSWERTYPEINTEGER外键(引用)适用的分组GROUPINTEGER外键(引用)表4-7来电响应方式表(CALLSANSWERTYPE)字段含义字段名字段类型长度备注数据库表ID_idINTEGER主键(自增长)响应方式名称CATDESCVARCHAR20响应类别ANSWERSTYLEINTEGER外键(引用)表4-8短信响应方式表(MESSAGEANSWERTYPE)字段含义字段名字段类型长度备注数据库表ID_idINTEGER主键(自增长)新短信反应ISREMINDINTEGER提醒/不提醒过滤与否ISFILTERINTEGER是/否(0/1)自动回复内容MESSAGECONTENTVARCHAR255短信回复内容/空表4-9来电响应类别表(ANSWERSTYLE)字段含义字段名字段类型长度备注数据库表ID_idINTEGER主键(自增长)类别名称ASNAMEVARCHAR接收/拒接/转接/表4-10 分组定义表(GROUP)字段含义字段名字段类型长度备注数据库表ID_idINTEGER主键(自增长)分组名称GROUPNAMEVARCHAR20是否隐私保护ISPROTECTEDINTEGER是/否(0/1)表4-11 用户分组表(USERGROUP)字段含义字段名字段类型长度备注数据库表ID_idINTEGER主键(自增长)电话号码TELEPHONENUMBERVARCHAR20所属分组GROUPINTEGER外键(引用)表4-12拦截记录表(INTERCEPTRECORD)字段含义字段名字段类型长度备注数据库表ID_idINTEGER主键(自增长)拦截记录类别IRTYPEINTEGER短信/已接来电/联系人号码PHONENUMBERVARCHAR20联系人姓名USERNAMEVARCHAR20记录是否保护ISPROTECTEDINTEGER是/否(0/1)记录内容IRCONTENTVARCHAR255短信内容等表4-13过滤规则表(FILTERRULE)字段含义字段名字段类型长度备注数据库表ID_idINTEGER主键(自增长)过滤词汇KEYWORDVARCHAR20表4-14用户表(User)字段含义字段名字段类型长度备注数据库表ID_idINTEGER主键(自增长)号码PHONENUMBE

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论