硕士论文中期检查报告论文名称:Android手机卫士骚扰拦截的设计与实现姓名:学号:专业:所属院系:学院指导老师:企业指导教师:企业指导老师单位:论文起止时间:2013年11月~2014年10月2014年5月I目录1.课题背景介绍.........................................................................................................11.1.课题背景与意义..........................................................................................11.2.课题研究内容..............................................................................................11.3.系统总体方案..............................................................................................22.论文工作是否按开题报告预定的内容及进度安排进行....................................32.1开题报告工作计划......................................................................................32.2实际工作进度..............................................................................................33.目前已完成的研究工作及结果.............................................................................43.1骚扰拦截的层次结构及实现原理..............................................................43.2遇到的关键问题及解决方案......................................................................64.后期拟完成的研究工作及进度安排.....................................................................85.如期完成全部论文工作的可能性.........................................................................86.论文工作计划.........................................................................................................8参考文献.......................................................................................................................911.课题背景介绍1.1.课题背景与意义在当今社会,随着科技的进步和人们生活质量的提高,过去已经流行开来的普通功能手机已经无法满足人们的要求,手机不断更新换代,变得更加人性化和智能化,于是就产生了智能手机。现在智能手机已经成为很多人日常生活不可缺少的一部分,而电话和短信始终是大部分手机用户最基本也是最重要的信息交流工具。随之而来的欺诈短信和骚扰电话也时常在我们身边发生,尤其对于防范意识薄弱的老人和小孩,更加容易上当受骗。对人们造成了经济上、时间上的损失。在对垃圾短信和骚扰电话的调查当中,没有被调查者认为他们未收到过垃圾短信和骚扰电话;明确认为收到过垃圾短信和电话的被调查者占据了99%以上。被调查者均表示接收到的垃圾短信和骚扰电话的主要时间明显向工作时间集中。综上所述,研究一款根据相应规则对来电和新消息进行拦截的手机软件有益于保障人们生活不受骚扰,还人们一片清静的世界,还可以防止骗子集体对人们的短信欺骗,保障人们的经济利益。1.2.课题研究内容针对日益猖獗的电话和短信骚扰,人们已纷纷采取了应对的措施。其中,在一些手机平台上相继开发出了来电防火墙和短信防火墙形式的骚扰拦截功能。所以本次研究,是对基于Android的手机卫士骚扰拦截的设计与实现,包括对骚扰电话、垃圾短信的拦截,除此还增加让用户举报短信、标记骚扰电话的功能,方便其他用户可以共享陌生来电号码的信息。要完成如上研究目标所必须完成的工作内容如下:1.项目需求分析结合项目需求与实际工作业务进行分析与沟通,确定项目需求,并实现产品原型设计。2.服务器端数据接口公司的网站架构是经典的LAMP架构(Linux操作系统,Apache网络服务器,2MySQL数据库,PHP编程语言,所有组成产品均是开源软件,是国际上成熟的架构框架,很多流行的商业应用都是采取这个架构),而Android手机客户端所用的数据需要在服务器端进行PHP代码封装成的JSON格式的数据接口,然后供Android的API调用。3.骚扰拦截流程的优化与实现骚扰拦截的策略分为电话和短信两部分:1)短信部分采用来电号码加短信内容的协同分析,当号码为黑名单时,则直接判定为垃圾短信,如果不是黑名单,则仍需判定是否为106开头的号码以及特殊服务电话(如95555这种),如果皆非上述两者,则根据短信内容是否有拦截关键字,如果含有关键字,则可以直接拦截。反之,则放行短信。2)电话部分采用是电话号码分析,满足黑、白名单的相应规则,则作出相应的拦截流程。4.Android客户端整体功能实现方案确定好各个模块界面的功能需求,开发对应的客户端界面,并确保与服务器端接口的通信正常。5.系统的整合、调试、与验收整个系统完成后,目标是可以在Android手机真机上流畅运行,而骚扰拦截模块达到的具体效果是:1)当有电话接入的时候,根据来电的电话号码以及拦截规则进行拦截,防止电话的骚扰。2)当接收短信的时候,根据过滤字段,发送的短信号码来进行过滤和拦截,防止垃圾短信的进入。1.3.系统总体方案结合项目需求与实际工作内容进行分析与沟通,确定项目需求,并实现产品原型设计。确定好各个模块界面的功能需求,按照已定的原型设计,开发对应的客户端界面与功能,并确保与服务器端接口的通信正常。32.论文工作是否按开题报告预定的内容及进度安排进行2.1开题报告工作计划1.通过收集一些有关本课题的资料与文献,加上与指导老师交流并确定论文研究中心与设计计划,逐渐建立模型最后完成整个论文的撰写。2.掌握java等编程语言的使用同时选择合适的开发工具,开始学习XML、、Photoshop、GoogleAndroidAPI等技术与工具的使用方法。3.具体工作的时间进度见表1。表1项目工作计划序号项目工作内容完成时间1开题报告2013.12.212项目需求分析及原型设计2014.01.153UI与数据及接口的开发2014.02.154UI与功能类和接口的对接与整合2014.03.155综合开发、测试与修复2014.04.156论文2014.07.157答辩2014.12.152.2实际工作进度表2为本项目设计与实现以及论文的实际工作进度,在项目的实现和论文的撰写过程中与开题时制定的计划有些许偏差,但是时间节点控制的还算接近,最终可以顺利完成项目的上线与论文的撰写。表1项目工作计划序号项目工作内容完成时间1开题报告2013.12.242项目需求分析及原型设计2014.01.173UI与数据及接口的开发2014.02.1044UI与功能类和接口的对接与整合2014.03.165综合开发、测试与修复2014.05.056论文2014.09.157答辩2014.12.153.目前已完成的研究工作及结果3.1骚扰拦截的研究1.垃圾短信拦截过滤的层次结构垃圾短信拦截过滤部分主要分为三层,第一层是数据层,其次是控制层,最后一个是表示层。1)收到的短信是存储在数据层的,数据层还存储有其它的一些数据,比如说规则数据;2)事件的监听机制是通过控制层来实现的,当收到短信之后对发件人号码分析辨识,随后的关键字词的查询等等;3)用户界面的交互则是通过表示层来实现的,包括关键字词的列表,黑白名单,与此同时用户还可以通过这个表示层与短信过滤模块进行交互,更改关键词,更改短信的所属类别,更改黑白名单号码。图1所列的就是短信骚扰拦截过滤的层次结构。短信数据库数据层规则数据库垃圾短信拦截事件监听过滤层次结构控制层发件人列表分析关键字过滤表示层短信分类列表过滤关键词列表图1垃圾短信拦截过滤层次结构52.基于Android智能手机的AIDL(AndroidInterfacedefinitionlanguage,Android接口定义语言)机制,可以通过Service来完成服务的功能。3.监听来电话时话机的状态变化,用到的是位于Android的SDK中的PhoneStateListener类,了解到电话状态主要会有三种,依次是CALLSTATEIDLE,CALLSTATERINGING,CALLSTATEOFFHOOK。因此需要重新继承PhoneStateListener类,继承之后还必须重写onCallStateChanged方法之后才能实现监听手机话机状态的变化,根据状态来作出相应响应的拦截操作。4.过滤短信主要是通过监听系统数据库SQLite的变化,当数据库有insert操作时表明有新的短信息进入,则首先获取该信息的发送者号码,然后根据拦截模式以及短信内容来进行判断是否拦截。5.因为公司已经有服务器端的PHP代码,所以Android客户端与服务器端的交互,是通过在PHP中建立API接口,以JSON的格式供Android的API调用。如图2为整个系统架构图。图2整个系统的架构图6.最后可以通过在Eclipse上运行Android模拟器来进行功能的测试,还可以用Android6的手机安装apk来进行测试。3.2遇到的关键问题及解决方案1.在论文设计与实现的过程中遇到了如下六个技术难点:1)在收到短信时,目前很多垃圾短信经常使用添加特殊字符、改变文本编码、拼音替换等方式来绕过拦截规则,比如“(做*帐-抵*口)*-*【百万o.3】联系135-3o6-696-85(王)”这样的短信,其中夹杂各种特殊字符以及拼音替换等,所以软件必须对这种情况进行文本归类,专门针对这种行为进行优化。2)在收到来电时,软件的监听(这一监听的获取目前还受到某些手机厂商的系统权限的制约)对现在比较常见的响铃一声骚扰拦截的判断,是否可以在第一时间内获取到该来电的信息,如果可以在响铃一声的骚扰电话刚挂断后,不能给出拦截提示,则软件的设计就不能起到好的效果。3)由于目前国内很多手机开发商针对Android系统做了二次开发,使得某些方法在Android系统大部分手机可以是适用,但少部分手机并不能完全适用,比如目前国内流行的小米手机的MIUI。4)垃圾短信在智能拦截模式下的拦截流程,以及该模式下各种情景(如联系人、黑名单、白名单、陌生号码、去电号码的来电)的优先级如何设计。5)关于垃圾短信和骚扰电话的数据库操作,主要的难点是数据库中建立的数据表是否合理,表的各个字段及表的关系是否合理。6)手机客户端标记骚扰电话的类型,在手机联网的情况下,将骚扰电话的类型传到网络服务器平台,这一过程是否能高效且无误的传输。2.针对上述存在的技术难点,提出相应的解决方案:1)上述难点1)一方面可以通过替换特殊字符,将短信中出现的部分字符替换掉,比如常见的“ó”,“ǒ”,“①”,“