基于Android平台手机来电防火墙的设计与实现---毕业论文_第1页
基于Android平台手机来电防火墙的设计与实现---毕业论文_第2页
基于Android平台手机来电防火墙的设计与实现---毕业论文_第3页
基于Android平台手机来电防火墙的设计与实现---毕业论文_第4页
基于Android平台手机来电防火墙的设计与实现---毕业论文_第5页
免费预览已结束,剩余74页可下载查看

下载本文档

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

文档简介

本 科 毕 业 论 文基于Android平台手机来电防火墙的设计与实现The Design and Implementation of Incoming Calls Firewall for Phone Based on Android OS姓 名:学 号:学 院:软件学院系:软件工程专 业:软件工程年 级:指导教师: 年 月I摘要随着当今信息化社会的飞速发展,手机已成为人们生活中必不可少的一部分。然而在商务体系极其发达的时代,一方面各种广告以各样的形式渗入每个人的生活,手机自然也成为其中一种主要的传播通道;另一方面,人们的生活变得繁忙,没有闲暇时间去处理这些烦人的信息,更希望手机本身能够提供这方面的服务,尽可能地减少不必要的“骚扰”。因此,手机来电防火墙及短信过滤软件应运而生。Android是Google推出的新一代智能手机平台1-3,与其他手机操作系统相比,其基于Linux与绝对开放的无可比拟的优越性,有着良好的市场发展前景,为众多厂商、个人所疯狂。在这种背景下,基于Android平台开发手机来电防火墙与短信过滤软件系统具有很好的应用前景。本文首先给出了系统的研究背景,对当前手机操作系统、来电防火墙软件的发展现状做了简单的介绍,进而详细地分析了Android的特征、架构以及Android应用的构成和工作机制,并对Android与其他操作系统进行了比较,说明了Android在手机操作系统中的优势。作者通过对Android自行研究学习,充分考虑了用户需求及用户体验,详细提出了系统的架构以及来电防火墙的解决方案,自行设计合理可行的模型算法,实现让用户方便快速地完成系统设置、达到满意的拦截效果,并详细讲解每个功能设计思路来源及具体实现方法;在开发过程中采用模拟器预览效果,并在最后对系统进行了部署和真实的体验测试。实现的来电防火墙系统操作简单快捷,用户能够自定义运行模式及各个模式间的快速切换;系统支持分组模式,即不同的用户组能够根据设定予以不同的响应方式和铃声;在不方便接听电话的情况下,出于礼貌考虑,用户还能够选择自动回复短信等方案拒接来电;响应方式中提供语音系统功能,即提示来电方根据语音提示留下录音信息;另外隐私记录只能在提供系统密码的情况下才能查看。对用户进行全面考虑,提供完备功能,追求用户百分百满意,这是软件的基本出发点!关键字:Android平台;智能手机;来电防火墙AbstractWith the rapidly development of information society, mobile phone has become the essential part of our life. However, during the developed Commercial Times, all kinds of advertisements penetrate everyones life with different ways. As a result, phone has automatically become one of the main propagation ways. On the other hand, the busy life asks people to overlook these boring messages by mobile phone itself and escapes unnecessary trouble. Thus incoming calls firewall for phone and SMS filter emerged. Android is a new generation smart phone platform invented by Google. Compared with other phones, the Android operating system which is based on Linux attaching absolutely superiority on open owns a good developing prospect and attracts many companies and people. In this context, to develop phone firewall for calls and SMS based on Android may bring a bright future.At first, this paper gives the research background, brief introduction about the current development of mobile phone operating system and incoming calls firewall, and then makes a detailed analysis about Android on the feature, architecture, working mechanism and the composition in application so as to show the advantages of Android by comparing with other operating systems. With sufficient thinking about users needs and experience, the author puts forward a systematic structure and complete solution for the incoming calls firewall. The reasonable and feasible algorithm and software running model designed by myself will help the users finish firewalls system setting commodiously and reach a satisfying effect on intercepting calls. The paper also lists out how the author is thinking and the implement details. In addition, simulators are used in the development process to preview, and at last the author has deployed the software on Android phone successfully and acquires great enjoyment.Our incoming calls firewall is easy to operate, the users can create new pattern and change running pattern with a few operations. It holds out Group Pattern to set different rings and responses for contacts in different groups. In some situations when the users arent able to answer the incoming calls, they can choose to reject the call but at the same time automatically answer a message to apologize. In addition, speech systems open to record call content. Some records are protected, and the users can see them only when holding correct password. “Sufficient thinking for the users and providing perfect functions” is the tenet of developing software, and the users satisfaction is the best present.Key words: Android OS; Smart Phone; incoming calls firewall目录第1章 绪论11.1 课题背景11.1.1 智能手机的发展11.1.2 Android的发展11.1.3 来电防火墙的需求21.2 课题意义21.3 主要工作与系统创新21.4 论文结构3第2章 背景知识介绍52.1 平台介绍52.1.1 平台优点52.1.2 系统架构52.2 应用程序开发62.2.1 主要组件介绍62.2.2 主要技术82.2.3 程序开发环境82.2.4 手机模拟器配置92.3 本章小结9第3章 需求定义与设计113.1 需求分析113.2 系统设计123.2.1 系统设置123.2.2 模式管理123.2.3 分组管理143.2.4 记录管理143.2.5 后台服务153.3 系统功能结构图153.4 数据库设计163.5 本章小结18第4章 详细设计与实现194.1 系统管理平台194.1.1 页面设计194.1.2 逻辑设计194.1.3 技术实现204.2 系统设置模块214.2.1 模块功能定义214.2.2 模块页面设计214.2.3 业务逻辑设计214.2.4 数据库表设计224.2.5 开发实现234.3 模式管理模块254.3.1 模块功能定义254.3.2 模块页面设计254.3.3 业务逻辑设计264.3.4 数据库表设计274.3.5 开发实现284.4 分组管理模块314.4.1 模块功能定义314.4.2 模块页面设计314.4.3 业务逻辑设计314.4.4 数据库表设计324.4.5 开发实现334.5 记录管理模块344.5.1 模块功能定义344.5.2 模块页面设计344.5.3 业务逻辑设计354.5.4 数据库表设计354.5.5 开发实现364.6 后台服务实现374.6.1 系统消息传递374.6.2 开机启动实现384.6.3 电话状态监听394.6.4 电话状态管理404.6.5 响应方式实现404.7 本章小结42第5章 系统安装测试435.1 模拟器配置435.2 系统部署445.2.1 安装应用程序445.2.2 卸载应用程序455.3 真机体验465.4 系统展示465.5 问题总结515.6 本章小结52第6章 总结与展望536.1 论文总结536.2 未来展望53参 考 文 献55致谢57VIIContentsChapter 1 Introduction11.1 Subject background11.1.1 The development of smart phones11.1.2 The development of Android11.1.3 User needs for calls firewall21.2 Subject significance21.3 Main work and innovation21.4 The structure of this paper3Chapter 2 Background Introduction52.1 Introduction for Android52.1.1 The advantages of Android52.1.2 System architecture52.2 Application development62.2.1 Android components62.2.2 Useful techniques82.2.3 Development environment82.2.4 Simulator setting92.3 Summary9Chapter 3 Needs analysis and model design113.1 Needs analysis113.2 System design123.2.1 System setting123.2.2 Patterns management123.2.3 Groups management143.2.4 Records management143.2.5 Background services153.3 System architecture153.4 Database design163.5 Summary18Chapter 4 Detail design and implement194.1 Management platform in front194.1.1 View design194.1.2 Model design194.1.3 Core implement204.2 Setting module214.2.1 Functions definition214.2.2 View design214.2.3 Business logic214.2.4 Database design224.2.5 Core implement234.3 Pattern management254.3.1 Functions definition254.3.2 View design254.3.3 Business logic264.3.4 Database design274.3.5 Core implement284.4 Group management314.4.1 Functions definition314.4.2 View design314.4.3 Business logic314.4.4 Database design324.4.5 Core implement334.5 Records Module344.5.1 Functions definition344.5.2 View design344.5.3 Business logic354.5.4 Database design354.5.5 Core implement364.6 Services in background374.6.1 Message transmission374.6.2 Implement for auto-start-up384.6.3 Phone state listener394.6.4 Phone state management404.6.5 Implement for call response404.7 Summary42Chapter 5 System deployment and testing435.1 Simulator setting435.2 Deployment445.2.1 Install applications445.2.2 Uninstall the applications455.3 Experience in real machine465.4 Running results465.5 Questions and solutions515.6 Summary52Chapter 6 Conclusion536.1 Summary of this paper536.2 Improvements and future works53References55Acknowledgements57XI第1章 绪论第1章 绪论1.1 课题背景1.1.1 智能手机的发展当今信息产业高速发展,移动通信技术川作为信息社会的主要支撑技术之一飞速发展着4。手机也经历了从最初只提供简单的通讯服务向更多扩展业务功能发展5。现在智能手机功能强劲,倍受人们所青睐,或许暂时还没有太高占有率,但势必要成为未来手机市场的主流!于是智能手机市场风起云涌,各大操作系统争抢比拼。多年来Symbian系统一直占据智能系统的市场霸主地位,系统能力和易用性等各方面很强;Windows Mobile界面和操作都和电脑上的Windows十分接近,对于电脑用户来说十分熟悉又上手,能够轻松资料共享和拥有大量可用软件;Linux系统具有自由免费的优势,能够自定义多数系统的内容;Palm OS系统运行占用资源少,处理速度快,且简单易用;Mac OS全触摸设计,娱乐性强,第三方软件多;Blackberry与桌面PC 同步堪称完美,是移动电邮的巨无霸。相对于Symbian、Windows Mobile、Linux这些老系统,人们对更实用、更灵活也更开放的智能系统充满期待。Google抓住此契机,于2007年11月推出了Android平台6-7。目前,我们看到智能手机的界面正朝着两个不同的方向发展:Mac OS侧重于应用,而Windows Mobile和Symbian侧重于智能手机任务和通讯,Android操作系统则两者兼顾,鱼与熊掌兼得。1.1.2 Android的发展2007年网络上就盛传全球最大的在线搜索服务商Google公司将进军移动通信市场,并推出自主品牌的移动终端产品。2007年11月5日,Google终于揭开了谜底,Google宣布与其他33家手机厂商(包括摩托罗拉、华为、宏达电、三星、LG等)、手机芯片供货商、软硬件供货商、移动运营商联合组成开放手机联盟(Open Handset Alliance,OHA),并发布了名为Android的开放手机软件平台。2008年9月22日,美国移动运营商T-Mobile USA在纽约正式发布了第一款Google手机T-Mobile G1。自打Android发行以来便掀起手机界的巨大浪潮,被认为是最有市场发展潜力的平台,为众多厂商、个人所疯狂。Google公司为了鼓励开发者使用和开发其基于Linux 的开源Android 手机平台,还特地举办了首届Android 编程大奖赛并提供1000万美元作为奖金。另外,Android完全开放、自由的特性,也为手机软件开发人员提供了很好的机会。1.1.3 来电防火墙的需求现如今手机功能强劲,不仅用于平常的通话,在商务活动中也逐渐发挥重要的作用。手机给人们生活带来的方便自是不必多说,但同时也带来了更多的扰惑。比如很快挂断的不知名电话,各种各样的推销电话和移动公司频繁地催话费电话等等,常常弄得人不得清静。针对不同的来电,用户希望能够通过省心的方式对来电进行分类管理和拦截,免受不必要电话的困扰。于是,拥有一款高效便捷的来电防火墙成了所有手机用户的迫切希望。1.2 课题意义手机是一个典型的嵌入式系统,也是当前最热门的应用平台。乘上Android这股巨浪,进入手机世界,开发自己的手机防火墙,深入学习手机应用软件开发的各个环节,同时也对嵌入式软件开发有一定的了解。本文所要实现的不只是简单的来电防火墙,从需求分析开始,就针对用户所可能遇到的情况进行全方位考虑;在操作上,也力求简单快捷;系统性能上高效稳定。这对于深入理解Android体系结构和应用具有巨大意义。另一方面,在工程上按照严谨的流程进行开发,遵守规范,代码阅读性强,软件易于维护和升级。1.3 主要工作与系统创新本文作者在深入了解了Android操作系统的功能特点,熟练掌握系统开发的关键技术以后,提出了使用客户端/服务器架构来设计本系统的思路,实现一个面向用户定制的相对功能完备的基于Android平台手机来电防火墙软件。具体工作如下:1) 对用户需求的充分调研。这部分工作主要在第3章体现。2) 考虑用户的真实感受,花心思进行友好的界面设计。3) 根据用户全面需求,进行合理的系统设计。4) 系统的开发实现。过程中充分注意代码规范性及注释的编写。5) 提供充分的文档说明。作者通过对已有来电防火墙的调查,充分考虑用户需求,自行设计一整套合理的方案完成系统,跟普通的来电防火墙相比,具有以下创新之处:1) 完美拦截来电,与短信防火墙联合工作。2) 响应方式多样化、人性化。提供多样来电拦截响应(如返回忙音、返回空号、不在服务区、手机已关机等),甚至能在拒接来电后自动回复短信,实现礼貌拒接,极具人性化。3) 便捷的模式管理。4) 不同联系人的区别对待。系统提供分组模式,让用户能够对每一分组设置不同的响应方式。5) 语音系统的实现。6) 隐私加密的实现。允许用户管理(增加、删除)需要加密的联系人,只有在提供密码的情况下才能够查看与这些联系人的通讯记录。1.4 论文结构全文共分六章,对基于Android平台手机来电防火墙的设计与实现进行了详细的描述,本文作者的主要工作集中在第三、四、五章。论文结构如下:第一章为全文的绪论。主要介绍本文的课题背景、研究意义,并指出作者的主要工作和创新之处。第二章是背景知识介绍。主要介绍了Android操作系统的架构和优点及Android应用开发中所需了解的相关知识,包括主要组件、关键技术及开发环境搭建和模拟器配置等。其中提出了在本文系统中所涉及的几种关键技术:Dalvik虚拟机、SQLite、多媒体支持和GSM技术。第三章是系统的需求分析与总体设计。对用户的需求的全面考虑,提出确实合理可行的设计。第四章是系统的详细设计与实现。描述整个开发过程的思路,实现方法。第五章是系统安装与测试。列出了安装测试步骤,及测试所发现的问题及解决方案。第六章是总结与展望。对全文做出系统全面的总结,并对今后需要进一步研究的方向做了展望。3第2章 背景知识介绍第2章 背景知识介绍2.1 平台介绍Android是Google开发的基于Linux平台的开源手机操作系统,它包括操作系统、用户界面和应用程序移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍,号称是首个为移动终端打造的真正开放和完整的移动软件。它开放了基于Linux内核以上的开发工具,从而保证了内容的可移植性和多样性。Android平台为我们开发应用程序提供了一套很好的框架,我们可以在这个平台的基础上开发不同的应用程序,也可以开发新的足见供应用程序调用。2.1.1 平台优点与其他手机操作系统相比,Android有4个无可比拟的优点8:1) 开放性:Android是一个真正意义上的开放性移动开发平台;2) 所有应用程序平等:所有的应用程序都运行在一个核心引擎上面,抛开这个核心引擎,Android的所有其他东西,包括系统的核心应用和第三方的应用都是完全平等的;3) 应用程序间无界限:Android打破了应用程序之间的界限,开发人员可以把Web上的数据与本地的联系人、日历、位置信息结合起来,创造全新的用户体验,此外,应用程序不仅可以通过标准API访问核心移动设备功能和因特网,还可以声明它们的功能可以供其他应用程序使用;4) 快速方便的应用程序开发:Android平台为开发人员提供了大量的实用库和工具,开发人员可以快速地创建自己的应用程序。2.1.2 系统架构Android是一个移动设备的软件平台,是由Linux + Java构成的开源软件,它提供包括SDK、Key Apps、Middleware、Linux Kernel四个部分在内的全套手机软件方案9。从软件分层的角度来看,Android的架构是由Linux内核、C/C+函数库、Dalvik虚拟机、应用框架以及关键应用程序构成,如图2.1所示。图2.1 Android架构2.2 应用程序开发2.2.1 主要组件介绍对于一个Android应用程序来说,是由Activity、Intent Receiver、Service、Content Provider四部分组成10,但并不是每一个Android应用程序都必须由这四部分组成。在应用程序中使用时,需要在配置文件AndroidMainfest.xml中进行配置。这个配置文件是每个Android应用程序所必需的,用于定义应用程序的组件、组件的功能以及必要条件等。Android应用的构成和工作流程如图2.2所示:Activity之间通过Intent实现切换;Activity可以通过Content Provider获取其他应用程序的数据;Activity通过Intent Receiver监听系统事件;Activity可以用Binder对Service进行绑定。图2.2 Android应用的构成和工作流程Activity是构成应用程序中最重要的构造块,在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.broadeasthtent()将它们的玩 Intent Receiver广播给其它的应用程序,实现应用之间的通讯。Service是不带UI提供连续信息的应用程序。它是运行于应用程序后台的服务,在用户进行其它活动的时候,这个服务将一直运行在后台直到用户停止该服务或服务运行结束。Content Provider应用程序能够将它们的数据保存到文件、SQL数据库和其它的存储设备中。当应用程序需要使用存储设备中的数据时,可以使用Content Provider来完成。使用Content Provider能够灵活的替换底层使用的存储设备,使开发者可以专著于应用逻辑的开发,不用考虑底层存储设备的细节,从而使应用系统具有良好的数据迁移性。2.2.2 主要技术Dalvik虚拟机:Android采用的Java虚拟机是自主开发的代号为Dalvik的虚拟机技术,在保证API方面兼容的同时Dalvik针对移动手机进行了大幅优化占用资源更小,运行效率更高。SQLite数据库:提供结构化的数据存储。它是一款轻型免费的且开源的数据库,它的设计目标是嵌入式的,它占用的资源非常低、需要的内存空间少、处理速度比较快和支持事务处理功能等。多媒体支持:支持各种通用的音视频和静态图像格式,如MP3、JPG、PNG等。Open Core是Android多媒体框架的核心,所有Android平台的音视频采集,播放的操作都是通过它来实现的。通过Open Core程序员可以方便快速的开发出想要的多媒体应用程序。GSM技术:(依赖硬件)Global System for Mobile Communications,全球移动通讯系统,俗称“全球通”,是第二代移动通信技术,其开发目的是让全球各地可以共同使用一个移动电话网络标准,让用户使用一部手机就能行遍全球。2.2.3 程序开发环境首先,要开发Android程序,必须安装所需软件,见表2.1:表2.1 必需软件列表软件名称安装版本Java Development Kit(JDK)6.0Android SDK2.0Android应用程序开发可以选择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 本章小结本章对Android平台的特征、架构以及Android应用的构成和工作机制进行了详细的分析,给出了Android的优势。对于Android应用程序来说,主要由Activity、Intent Receiver、Service和Content Provider四部分组成,但并不是对于每一个应用程序,这四部分都是必需的。Activity是应用程序中最重要的一种构造块。最后提出了基本开发环境搭建与模拟器配置指导。9第3章 需求定义与设计第3章 需求定义与设计3.1 需求分析作者通过调查得出结论,所有的手机用户都期望得到这样的一款来电防火墙,详情解说如下:1) 拥有黑名单功能,能够添加黑名单号码,并绝对地拦截来自黑名单的骚扰电话。2) 响应功能上不仅是提供简单的接收或拒绝,而应该有更多的方式,比如给予关机提示。这是许多人梦寐以求的,因为有时候我们不喜欢接听某些电话,将号码加入黑名单,同时又不希望让对方知道。我们知道,一般电话在接通后被绝接听都是给予忙音提示,但是如果能够给出其它的答复,想必就不易让人觉察是人为主观上的排斥。更有甚者,在不方便接听的情况下,自动给予短信回复,既省事,又免得一直被打扰。3) 快速实现模式切换。在人们的生活中有各种各样的场景。比如,开会过程中,一般会设定不予接通所有来电;在工作过程中却需要接通部分人的电话;更为苛刻的是,有些时候,只想等待个别几个非常重要的电话。而以上种种,都是生活中的常见场景,需要能够让用户快速地切换设置,满足各个场景的拦截需求。4) 对联系人的分组管理,实行不同的响应方式。5) 提供电话录音功能。对于有些电话,会提到非常重要的信息,这些信息可能是面试的时间地点、客户的投诉内容等等,而如果手边没有纸和笔,那便会非常麻烦;也有些时候我们自认为能够记住那些信息,结果到最后却忘了。另外的情况是,对于明知道会提及重要信息的电话,事先地设定开启录音功能,那是再好不过的了。6) 语音系统,录取留言。当我们在热切期待重要的电话的时候,而却进入不方便接听的场所,最好能够让手机开启留言功能,及时地记录下对方的电话内容。7) 隐私加密。每个人都有一些私密的东西,有些通讯记录是不希望轻易地让别人知道的,因此希望能够实现对某些人的通讯记录进行加密。8) 开机自启动。3.2 系统设计针对手机用户的各种需求,作者对系统进行分析,完成系统设计。系统分为前台管理和后台服务两部分。在前台管理上有四大模块:系统设置、模式管理、分组管理和通讯记录;后台服务为来电事件处理流程。3.2.1 系统设置系统设置主要有:启动类型(自动/手动);服务状态(启动/停止);服务范畴(来电/短信/全部);运行模式(统一/分组/特权/);系统密码设置等。功能定义如图3.1示。图3.1 系统设置3.2.2 模式管理模式管理有:添加模式、删除模式、模式编辑。系统默认提供“统一模式”、“分组模式”和“特权模式”。功能定义如图3.2所示。(系统提供模式不可删除)图3.2 模式管理其中,模式编辑包含有响应方式的设定。系统提供以下来电响应方式:铃声+震动;铃声+无震动;无铃声+震动;无铃声+无震动;拒接+短信回复;拒接+忙音提示;拒接+关机提示;拒接+不在服务区提示;拒接+空号提示;拒接+停机提示;转接来电;开启语音系统。具体如图3.3示:图3.3 来电响应方式另外,有铃声的时候,用户可以自由选择;短信回复,需要用户编辑内容;转接来电,要求用户设置转接号码。3.2.3 分组管理分组管理有:添加分组、删除分组、编辑分组。系统默认提供的分组有“黑名单”、“特权组”和“陌生人”,其中每个分组又可以设置为是否隐私保护。功能定义如图3.4所示。(系统提供分组不可删除)图3.4 分组管理其中,编辑分组的内容有:分组铃声选择;分组响应方式选择;分组联系人添加、移除;分组隐私设置。(一个号码不能同时属于多个分组)3.2.4 记录管理记录管理中有隐私记录和公开记录两种类型,隐私记录必须在提供系统密码的情况下才能管理。记录的内容分为:已接来电、未接来电、拒接来电、转接来电和留言信息。用户可以查看、删除记录。图3.5展示了此模块功能框架。图3.5 记录管理3.2.5 后台服务系统按照以下流程进行处理来电事件(如图3.6):当有来电事件发生时,如果开启了来电防火墙,则对来电进行判断号码是否属于黑名单之列:位于黑名单的号码来电,系统将直接根据设定的方式予以拒绝接听;否则,继续由来电防火墙进行处理根据当前软件的运行模式实行不同方式的响应措施。图3.6 处理来电事件流程3.3 系统功能结构图根据需求定义,得出以下系统功能结构图3.7:系统管理平台共有四大模块:系统设置、模式管理、分组管理及记录管理。强大的管理平台为强大的后台服务提供了有力的支持!其中,系统设置直接关乎软件的运行,为程序装载的第一个页面,用户能据此快速的完成设置,得到满意的结果;模式管理和分组管理是为各种模式进行更为详细的设置;此外,记录管理页面方便了用户查看所有的拦截记录。图3.7 系统功能结构3.4 数据库设计软件的运行,如此多的管理数据,需要有数据库的支持。本文选用的是便捷的SQLite数据库,但也免不了对数据库的设计。图3.8显示了数据库的整体设计。图3.8 系统数据库总体设计相关说明:Setting表中存储的是与系统运行最直接相关的参数,用户的系统设置也主要是对此表进行更新操作;因为本来电防火墙还与合作伙伴的短信防火墙整合到一起,所以在设计的时候还考虑了短信方面的设计。3.5 本章小结本章首先从用户角度考虑了各种需求,再根据需求给出系统设计,然后以框图形式展现了整个系统架构,最后得出数据库设计方案。59第4章 详细设计与实现第4章 详细设计与实现4.1 系统管理平台4.1.1 页面设计作者设计的软件在管理平台主要有“系统设置”、“模式管理”、“分组管理”和“记录管理”四大模块。在实现上,以TAB页的形式进行各个管理页面上的切换。用户根据点击不同的TAB项,可以转到不同的管理页面。以TAB形式展现管理页面,从用户的角度上看既便捷省事,又美观大方,能够很好地实现快速完成软件设置,而且页面整体变换的范围小,不至于让用户眼花缭乱,充分体现了软件的友好度,提升用户体验的舒适感。4.1.2 逻辑设计Android应用程序中,存在着与普通Java应用程序一样的程序入口,即运行程序时第1个调用的页面程序;而在本项目中,定义为IndexActivity。与此同时,每个管理页面对应一个Activity(分别为SettingActivity,PatternActivity,PacektsActivity和RecordsActivity),于是得到如图4.1所示的类图。图4.1 系统管理平台基础类定义如图4.2,SettingActivity、PatternActivity、PacketsActivity和RecordsActivity均由IndexActivity创建而得。图4.2 系统管理平台基本流程4.1.3 技术实现在Android中,用户设计的页面可以有好几种类型,最为常见的便是直接继承Activity,但是这个常见的方式已经不能满足现有的需求,于是,我们还需更深入地探讨关于Android页面设计的高级应用。TabActivity和ListActivity是两个对于普通Activity的特例实现。这里我们要用到的便是TabActivity。关于TabActivity的用法,需要注意的便是与普通Activity应用的不同之处。TabActivity实现类要完成以下几点工作:1) 获取TabHost对象:TabHost tabHost = getTabHost();其中,getTabHost方法为TabActivity所带有的。2) 将TabHost对象与设计页面布局的XML文件关联起来:LayoutInflater.from(this).inflate(R.layout.main, tabHost.getTabContentView(), true);需要注意的是R.layout.main定义的布局方式为FrameLayout,而且页面中定义了TableLayout(需要几个TAB项,定义几个TabLayout)。3) 为每个TAB项绑定页面的具体内容:例如,tabHost.addTab(tabHost.newTabSpec(tab1).setIndicator(系统设置,this.getResources().getDrawable(R.drawable.setting) .setContent(R.id.tab1);可以设置TAB页的标签文本、图标、内容及在TAB条中的位置等。4.2 系统设置模块4.2.1 模块功能定义系统设置主要涉及以下几个功能点:开机启动类型设置;服务状态修改;服务内容定义;运行模式选择;系统密码设定。4.2.2 模块页面设计页面设计原则:作者在设计页面上没有什么长处,但秉持一贯的原则“不追求漂亮绚丽,却要整齐舒适、简洁大方”。而且像手机来电防火墙这样的实用软件,管理页面不需要太花哨,用户更愿意的是操作简单快速,因此,希望在同一个页面上能够做更多的事。于是,“内容充实”的想法在这边的页面设计上得到了应用结合Android “手机屏幕大”和 “控件占用空间小”(当然,控件的占用空间是可以由用户自由定义,以不浪费多余空间的想法来看,控件所需的空间便没有那么多了)的特点,为了让用户能够更快速地完成设置,作者做出“并排设置区域”的大胆创新(因为这种做法在手机应用上并不多见,而更多像是电脑软件的风格)。有人提出,这样可能会影响页面的整体美观,但我相信只要布局合理、整齐匀称,也未尝不可。根据功能定义和页面设计原则,作者完成此模块的页面设计:用户可以在启动类型中选择“自动”或是“手动”当然需要由作者完成“自动”和“手动”两个按钮能且只能选其一;服务状态为“启动”和“停止”两种类型,用户可根据意愿关闭或开启软件服务;点击“密码设置”弹出密码设置对话框;从服务范畴中选取要启动的服务;在运行模式列表中挑选软件的运行模式。4.2.3 业务逻辑设计根据功能定义和页面设计,此模块主要产生以下页面:IndexActivity(系统管理平台入口),SettingActivity(模块功能实现主页面)及ModifyPwd(密码修改页面)。除此之外,FerewallDBHelper提供了对数据库操纵的对象。图4.3展现了此模块的主要设计。图4.3 系统管理模块设计另外,跟此模块息息相关的是系统服务的状态变化,如图4.4所示,系统服务的变化受开机启动事件和用户手动修改设置影响而发生变化。图4.4 系统服务状态变化4.2.4 数据库表设计系统参数需要长期保存,作者采用SQLite数据库作为存储

温馨提示

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

最新文档

评论

0/150

提交评论