基于Android手机防火墙的设计与实现资料.docx
- 文档编号:11292376
- 上传时间:2023-02-26
- 格式:DOCX
- 页数:22
- 大小:153.87KB
基于Android手机防火墙的设计与实现资料.docx
《基于Android手机防火墙的设计与实现资料.docx》由会员分享,可在线阅读,更多相关《基于Android手机防火墙的设计与实现资料.docx(22页珍藏版)》请在冰豆网上搜索。
基于Android手机防火墙的设计与实现资料
国产智能手机市场竞争状况研究
摘要智能手机具有独立的操作系统,像个人电脑一样支持用户自行安装软件、游戏等第三方服务商提供的程序,并通过此类程序不断对手机的功能进行扩充,同时可通过移动通讯网络来实现无线网络接入。
在中国智能手机市场,智能手机的普及率还比较低,呈现一种外强内弱的局面。
由于缺乏核心技术以及品牌方面的优势,因此国产智能手机市场一直为外资品牌所占据。
本论文首先从中国的手机市场出发,先分析了中国手机市场的市场容量和竞争状况,继而分析了中国智能手机的现状,然后罗列出智能手机竞争的几大要素,并对比分析了外资品牌和国产智能手机在这几个要素之间的差距,对国产智能手机进行了swot分析,最后提出了国产智能手机应对竞争,缩小差距的解决方法。
关键词:
中国手机智能手机竞争分析
引言
Android一词的本义指“机器人”,也是基于Linux内核的软件平台和操作系统,是Google在2007年11月5日公布的手机系统平台,早期由Google开发,后由开放手持设备联盟开发。
它采用了软件堆层的架构,主要分为三部分。
低层以Linux内核工作为基础,只提供基本功能;其他的应用软件则由各公司自行开发,以Java作为编写程序的一部分。
之后Android提供了NDK以供开发者使用其他语言编写程序。
另外,为了推广此技术,Google和其他几十个手机公司建立了开放手持设备联盟。
Android是一个真正意义上的开放性移动平台,它同时包含底层操作系统以及上层的用户界面和应用程序——移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍。
所有的Android程序之间是完全平等的。
所有的应用程序都运行在一个核心引擎上面,这个核心就是一个虚拟机,它提供了一系列用于应用程序和硬件资源间通信的API。
但是,包括系统的核心和第三方应用都是完全平等的。
因此,你可以将手机中的任何应用程序替换成其他你所需要的其他应用程序,这就是Android的魅力所在。
第三代数字通信(3G)技术的广泛应用,为智能手机用户带来了更快的数据传输速率,智能手机不再仅仅是语音通讯的网络终端,还将成为互联网的通信终端。
另外,智能手机正一步一步走进普通人的生活,这意味着很多的人将参与到互联网中。
然而,智能手机的普及也给人们的生活带来了一些令人烦恼的事情,例如:
匿名的短信和电话及骚扰短信和骚扰电话,还有近几年来比比皆是的电话诈骗事件。
基于以上的分析,设计来电防火墙是非常具有实用价值的。
现在的手机生产商众多,而操作系统不开源,对各种应用的支持不是很好。
对运营商来讲,往往需要对某类手机进行单独开发,成本无形增加很多。
实现开源后,与运营商结成联盟,将导致成本降低。
目前,操作系统的成本占15%~20%,这对消费者是一个很大的压力,把成本降到零,这对消费者和运营商都有好处。
为此,Google于2007年11月推出了一个专门为移动设备设计的软件平台——Android。
它的出现打破了这些格局,还提供给普通开发者非常灵活的设计平台。
第一章绪论
1.1相关智能手机平台的现状分析
随着科技的发展,手机作为一种非常重要的通讯工具,其功能越来越强大,相对电视、互联网络等方式,手机凭借它可以随时随地获取和处理信息的优势,逐渐成为人们获取信息的一种重要手段。
根据采用的手机操作系统的不同,市场上智能手机可分为很多类,例如Symbian、WindowsMobile、Linux、Palm等等。
近两年来由于Android操作系统具有良好的开放性和平台便捷性等特点,采用Android操作系统的手机越来越受到人们的青睐。
同时Android操作系统在智能手机领域中所扮演的角色也越来越重要。
智能手机平台之争已进入群雄争霸的时代,新势力的不断崛起,使其不断进步。
因此,对智能手机平台的研究及其发展是当前移动计算机技术发展中最为活跃的领域。
现在对相关智能手机平台的现状做了如下分析。
1.1.1Symbian平台
SymbianOS[1](中文译音“塞班系统”)由诺基亚、索尼爱立信、摩托罗拉、西门子等几家大型移动通讯设备商共同出资组建的一个合资公司,专门研究手机平台。
Symbian平台在智能移动终端上拥有强大的应用程序以及通信能力,这都要归功于它有一个非常健全的核心——强大的对象导向系统、企业通用标准通信传输协议以及完美的SunJava语言。
Symbian机型所采用的硬件配置较低,且各类机型采用的处理器主频较低,虽然平台可以使其获得较高的处理效能,但是在多媒体等方面的表现依然不如人意。
在多媒体方面,SymbianOS对主流的媒体格式的支持性较差。
SymbianOS带来了一种限制性的发展屏障。
各个平台之间第三方软件不兼容,给用户带来了一定的不便。
版本之间兼容性差也是SymbianOS需要改进的一个地方,每当新版本SymbianOS发布并有产品面世时,系统的兼容性便成了其发展的一个大敌。
1.1.2WindowsMobile平台
WindowsMobile[1]系列平台是在微软计算机的Windows平台上变化而来的,因此,它们的操作界面非常相似。
WindowsMobile系列平台功能更强大,大多具备了音频、视频文件播放、上网冲浪、MSN聊天、电子邮件收发等功能。
而且,支持该平台的智能手机多数都采用了英特尔嵌入式处理器,主频比较高。
另外,采用该平台的智能手机对硬件配置(如内存、存储卡容量)上的要求比采用其它平台的智能手机要高出许多,因此性能比较强劲,操作起来速度比较快。
但是,此系列手机也有一定的缺点,如因配置较高、功能多而产生耗电量大、电池续航时间短、硬件成本高等缺点。
1.1.3PALM平台
PALM[1]是3Com公司的PalmComputing部门开发的一种32位的嵌入式平台,它的操作界面采用触控式,差不多所有的控制选项都排列在屏幕上,使用触控笔便可进行所有操作。
作为一套极具开放性的平台,开发商向用户免费提供PALM平台的开发工具,允许用户利用该工具在PALM平台的基础上编写、修改相关软件,使支持Palm的应用程序丰富多彩、应有尽有。
由于Palm一直遵循LessMore(少就是多)这一理念去设计,所以,与微软推出的平台要占有大量系统资源和存储容量不同的是,它本身所占的内存极小,基于PALM平台编写的应用程序所占的空间也很小,通常只有几十KB,所以基于PALM平台的掌上电脑虽然只有几兆的内存却可以运行众多的应用程序。
但是,这么一来,它的功能就没有那么多,例如不具有录音功能、MP3播放功能等,如果你需要使用这些功能,就需要另外加入第三方软件或硬件设备方可实现。
另外,对于中国用户而言,它有一个不足之处是,它的操作平台起初在中国销售的产品仍然要使用中文外挂平台,有相当部分依然是以英文界面为主,在一定程度上影响了基于PALM平台的产品在中国市场的大面积进入。
还有就是娱乐性比较差,操作比较困难,新手难于上手。
1.1.4MacOSx平台
苹果手机的平台(MacOSX)近几年也是智能手机的一个新亮点,它已超过微软跃居手机行业第二。
MacOSX使用基于BSDUnix的内核,并带有Unix风格的内存管理和抢占式多任务处理,大大改进内存管理,允许同时运行多款软件,这实质上消除了一个程序崩溃导致其它程序崩溃的可能性。
它还具有极度华丽的图形用户界面、极高的运行效率和稳定安全性。
但是,这些新特征需要更多的系统资源,按官方的说法MacOSX只能支持G3以上的新处理器(它在早期的G3处理器上执行起来比较慢)。
其中最具代表的平台是iPhone,它是MacOS10.5的精简版。
iPhone使用基于ARM架构的中央处理器,而不是苹果的麦金塔计算机使用的x86处理器(就像以前的PowerPC或MC680x0),它使用由PowerVR视屏卡渲染的OpenGLES1.1。
因此,MacOSX上的应用程序不能直接复制到iPhoneOS上运行。
它们需要针对iPhoneOS的ARM重新编写。
还有就是苹果至今仍没有任何让iPhone运行Java的计划。
1.1.5RIM平台
黑莓(Blackberry)是智能手机,它是加拿大RIM公司推出的一种移动电子邮件系统终端,其特色是支持推动式电子邮件、手提电话、文字短信、互联网传真、网页浏览及其它无线咨询服务。
它采用RIM平台,而RIM平台基于Java平台,运行极为稳定流畅,对Java软件兼容能力强,也有不错的软件资源。
采用了标志性的滚轮设计,操作时非常方便。
技术上来说,BlackBerry是一种采用双向寻呼模式的移动邮件系统,兼容现有的无线数据链路。
BlackBerry.nterpriseSolution是一种领先的无线解决方案,可供移动专业人员用来实现与客户、同事和业务运作所需的信息链接。
这是一种经证明为有效的优秀平台,它为世界各地的移动用户提供了与大量业务信息和通信的安全的无线连接。
BlackBerry安全无线延伸到移动商业用户的企业电子邮件账户,既使它们在办公室外,也可轻松处理邮件,就像从没有离开办公桌。
用户可以在旅途中发送、接收、归档和删除邮件、并阅读电子邮件附件、支持格式有MicrosoftWord、MicrosoftExcel、MicrosoftPowerPoint、AdobePDF、CorelWordPerfeet、HTML、ASCLL等等。
BlackBerry解决方案的“始终在线”推入技术可以自动传递邮件,用户不需要执行任何操作就可接收通信,所以BlackBerry是移动电子邮件的巨无霸,比较适用于商务人士,但在多媒体播放方面的功能非常弱。
1.1.6OMS平台
为了推动移动互联网产业的发展,并保持中国移动对产业链的控制,在苹果iPhone以及谷歌Android平台的启发下,中国移动携联想推出自己的手机平台OMS(OpenMobileSystem)。
OMS同样是基于Linux内核,采用Android源代码,但在业务层和此前的谷歌手机完全不一样,OMS将集成大量中国移动的业务。
显然中国移动并不愿意把采用该平台的手机叫Gphone或谷歌手机,而是使用了新代号Ophone。
1.1.7J2ME平台
J2ME(JavaPlatformmicroEdition)是Java语言专门针对嵌入式电子产品的版本,应用在移动电话、PDA、电视机顶盒以及其它资源受限的设备上,J2ME是目前移动设备上使用最广泛的开发平台。
J2ME平台由多种配置、简表和可选包组成。
可以发现J2ME的应用是建立在JVM(或KVM)之上,而主机操作系统是位于J2ME平台之外。
这样的设计一方面提供了跨操作系统的特性,主机操作系统可以是Symbian、WindowsMobile、和Linux,目前还不支持iPhoneMacOS。
另一方面J2ME虽然提供了统一的开发平台,但是JVM的安全机制让J2ME的应用程序不能调用本地系统资源。
1.2ANDROID的系统介绍
Android系统是Google公司推出的一款开放平台,Android以linux2.6为内核,系统稳定安全,应用程序使用Java语言来开发,缩短了软件开发周期,现在已经被许多的手机厂商采用。
Android是一个真正意义上的开放性移动设备综合平台,它包括操作系统、用户界面、中间件和一些关键的平台应用,拥有移动电话工作所需的全部软件。
Android最大特点在于它是一个开放的体系结构,具有非常好的开发和调试环境,而且还支持各种可扩展的用户体验,Android里面具有非常丰富的图形系统,提供对多媒体功能的支持和非常强大的浏览器。
Android的主要特点体现在以下几点[2]:
(1)应用程序架构:
在应用程序架构内已经具备多种不同的基础组件,在开发应用程序时,就可以直接调用这些组件来使用,可以节省开发应用程序的心力及时间。
(2)Dalvik虚拟机器:
在Android平台上所使用的Java虚拟机,不是Sun公司的标准Java虚拟机,而是使用Google自主开发的代号为Dalvik的虚拟机,它在保证API方面的兼容性的同时,针对移动手机进行了大幅度优化,占用资源更小,运行效率更高。
(3)集成的浏览器:
集成的浏览器是Android内建的浏览器,是以WebKit的浏览引擎为基础所开发的。
WebKit是一个开源浏览器网页排版引擎。
配合Android手机的功能,可以在浏览网页时,达到更好的效果。
(4)优化的绘图能力:
在程序里可以用到的绘图功能分为2D和3D两个方面。
在2D方面,Android提供了一套特有的类库(SGL);而在3D方面则是使用OpenGLES1.0(OpenGLforEmbeddedSystems)规范的类库。
它们是一种非常快的图形引擎,并且支持硬件加速。
(5)SQLite数据库:
SQLite提供结构化的数据存取。
SQLite是一款轻型的数据库,它的实际目标是嵌入式,目前已经在很多嵌入式产品中使用了它,它占用的资源很低。
它能够支持Windows、linux、Unix等主流的操作系统,同时能够跟很多程序语言相结合,比如PHP,Java等,还有ODBC接口,同样比起Mysql,PostgreSQL来讲,它的处理速度比它们都快。
它无需安装和管理配置,它是一个存储在单一磁盘文件中的完整数据库,占有空间只有250KB,但支持数据大小最高达2TB。
虽然很小巧,但是支持的SQL语句毫不逊色于其它开源数据库。
同时它还支持事务功能和并发处理等等。
SQLite也是一套开放性的关联式资料库。
其特点在于轻量性方面的设计结构,更适合在手机上使用。
(6)多媒体的支持能力:
主要用于播放媒体文件。
这同时包括对音频和视频的支持,并支持“播放URI地址(即统一资源识别地址)”模式——在网络上直接播放的流媒体。
另外支持各种通用的静态图像格式,例如:
JPG、PNG、GIF等格式。
(7)GSM技术:
GlobalSystemforMobileCommunication,即全球移动通信系统,是第二代移动通信技术,其开发目的是让全球各地可以使用一个移动电话网标准,让用户使用一部手机就能行遍全球。
GSM技术是属于手机硬件方面的发展,也是在开发Android应用程序时可以突出的特点之一。
(8)蓝牙、EDGE、3G和Wi-Fi:
蓝牙是一种新型、开放、低成本、短距离的无线连接技术,可取代短距离的电缆,实现话音和数据的无线传输。
EDGE是一种从GSM到3G的过渡技术,它主要是在GSM系统中采用了一种新的调制解调方法,即最先进的多时隙操作和SPSK调制技术。
Wi-Fi(WirelessFidelity),即无线保真技术,与蓝牙技术一样,同属于在办公室和家庭中使用的短距离无线技术。
该技术使用的是2.4GHz附近的频段,该频段目前尚属无须许可的无线频段。
其目前可使用的标准有两个,分别是IEEE802.11a和IEEE802.nb。
这些通讯能力也是属于手机硬件方面的发展,也是在开发Android应用程序时可以突出的特点之一。
(9)丰富的开发环境:
AndroidSDK提供了相当完善的程序开发环境,其开发环境包括设备模拟器、调试工具、内存和性能检测等方面的评估功能,另外也提供可用于EclipseIDE的开发插件界面。
1.3ANDROID平台与其它平台的比较
首先看一下Symbian,它存在着以下的致命不足:
Symbian的主导者为诺基亚、索尼爱立信等传统的手机厂商,因此虽然Symbian非常成熟,但是基本上还带有浓厚的保守色彩,应用软件与我们日常的PC软件有较大的理念差异。
再者Symbian与互联网的结合给人感觉仍不够紧密,互联网应用更多只是作为陪衬存在。
Android平台与此相反,移动互联网是它最重要的应用,无论系统内核、应用软件还是硬件设计,几乎都是围绕着快捷的移动互联网应用所展开的,同时Android与PC平台存在先天的基因联系,可以很好的实现与PC设备的信息互享,更容易获得用户的广泛认可。
与Android拥有相同属性的还有微软的WindowsMobile,然而臃肿的Windows平台饱受垢病,真正喜欢它的用户并不多。
至于iPhone,它只是苹果公司的封闭平台,用户无法在iPhone中自行安装应用程序。
所有的东西都应该苹果自己设计制造,从而确保利润不被第三方分享。
苹果自己为iPhone开发了嵌入式系统以及完整的应用,但它干脆都不宣扬iPhone的软件设计,而是将iPhone作为一个包含软硬件卖点的手机产品出售。
同样,苹果式的奢华与时尚让iPhone大获成功,以至于成为手机市场的风向标。
与苹果相反,Android则是走完全开放的道路,这种模式的巨大优点在PC软件领域已为业界所公认。
自由软件高度活跃,错误可以被快速修改,新的应用和新的创意可以不断出现。
自由的属性让Android的错误可以快速的修正,从而提高系统的可靠性与安全性。
Android平台的另外一个优势是标准化和跨平台。
作为开发平台,可以为任何手机厂商自由选择一厂商对代码做出修改,那么修改的结果必须迅速返回,确保系统的统一性。
其次,Android的应用都基于Java开发,Java具有一次编写、到处运行的跨平台属性,换句话说,开发者只要编写一遍程序,就能够实现在所有Android设备中运行,真正做到了硬件无关性,这显然大幅度降低了开发者的负担。
再者,Android提供标准化的API和SDK开发包,手机厂商可以根据需要自行开发或收纳已有的程序,从而打造出富有特色的Android平台。
这对手机厂商来说,它可以完全不管软件技术之内的问题,快速整合出适合自己的一套平台,然后将精力集中在硬件设计上面,可以在短时间内快速推出新品,对开发者来说,标准化的Android绝对是令人愉快的选择。
Android和操作系统进行了紧密地整合,从而可以方便地使用操作系统的功能。
并且从图形应用界面的开发上来看,Android可以使用配置文件来描述图形控件的布局,用Java代码编写实际响应代码,比用AWT/Swing编写图形应用程序要方便得多。
当然由于Android已经提供了大量现成的应用API和应用工具,使得常规智能手机功能的开发变得非常容易和简单。
1.4本文的主要内容
本文首先对目前的一些智能手机操作系统进行了介绍,并阐述了它们之间的差异。
其次对系统的需求做了分析,包括功能分析、性能分析、数据分析、安全分析。
随后论述了系统的主要功能,采用流程图的方式来表达使用者与Android应用程序的互动过程,并从互动过程中,引导出应用程序的画面布局和Activity类的规划。
然后规划出幕前布局和幕后Activity,以此作为程序撰写的蓝图。
最后设计了系统Activity之间跳转算法和系统数据库,并论述了各功能模块的主要实现过程。
第二章需求分析
本系统设计采用的开发环境为Windows下GoogleAndroid开发平台,
所需软件有[3]:
(1)JAVAJDKSE1.6
(2)Eclipse3.3.2
(3)GoogleAndroidSDK
(4)ADT0.8.0
2.1功能分析
语音通信是手机一直不变的功能,然而来电防火墙就是专门针对那些骚扰电话和用户不想接听的来电而设计的,它需要提供友好的界面、方便的用户操作界面,接收用户的各项操作并将这些操作转化成与之对应的命令,采用用户活动的方式完成各个服务逻辑流程,其功能需求主要包含以下内容:
(1)来电拦截
系统能够监听电话状态的改变,判断是否有电话呼入,然后判断此来电是不是需要屏蔽的来电。
(2)拒接来电的添加
用户可以添加自己不想接听的电话,当此电话呼入时,系统将进行相应的处理。
(3)拒接来电的回拨
当用户要呼叫存在拒接列表中的联系人时,可以运用此功能,而不需用户再次输入呼叫人的电话号码。
(4)编辑拒接联系人
当拒接列表中的联系人的信息改变了,可以重新编辑拒接联系人的信息。
(5)删除联系人
当不想再将此联系人作为拒接的对象,就可以运用此功能将它删除。
2.2性能需求
手机应用程序需要提供良好的用户体验。
良好的用户体验体现在以下几点:
(1)界面友好
用户界面简单直观,并且易于操作。
(2)快速响应
快速处理用户的输入或请求,对于有些需要较多时间的应用程序,可以在它处理时,给用户一个提示,让用户知道程序还在运行中。
(3)无缝性
Android应用程序模型的构建是能够允许用户在不同的应用程序之间进行流畅的切换。
所以当用户正在做一些其它的事情,如在接电话或查看地图时,SMS服务每次都在短信收到时弹出一个对话框,这很快就会使用户崩溃,需要引入通知机制,来使用户能够自己控制。
2.3数据需求
(1)添加界面需输入需要拒接的来电号码。
(2)开启应用程序时需要输入用户名和密码。
2.4安全需求
Android安全中的一个重要的设计是在默认情况下应用程序没有权限执行其它应用程序、操作系统或用户的有害操作。
这些操作包括读/写用户的隐私数据。
应用程序的进程是一个安全的黑盒子,它不能干扰其它应用程序,除非给它声明权限。
第三章系统设计
3.1功能框架
在设计系统的功能框架时,主要分为显示需要拦截的号码、添加新的拦截号码、系统设置。
系统功能模块如图3-1所示。
图3-1系统功能模块
(1)黑名单列表模块
功能:
显示存在于黑名单数据库中的联系人和联系人的电话。
(2)添加联系人
功能:
向黑名单数据库中添加新的联系人,同时在电话本数据库中将对应的联系人删除。
(3)设置模块
功能:
设置当黑名单数据库中的联系人来电时提示用户的方式,以及开启来电防火墙应用程序时用户密码的修改。
3.2布局规划及互动流程
一个系统通常会用多个画面来与使用者进行沟通。
用UsedCase图来表达使用者与Android应用程序的互动过程,从互动过程中,已导出应用程序的画面布局和Activity类的规划,互动过程如图3-2所示。
图3-2用例图
现在对系统中的未接列表、黑名单列表、添加、设置功能进行画面布局和规划。
3.3系统实现流程图
启动模拟器后,模拟器会自动加载指定的图片,然后进入主界面,并在主界面中把图显示出来,而且会根据屏幕的大小自动调整显示出的图片。
然后在菜单栏中可以选择相应的标签,并进入相应的界面,如果想退出相应的界面,可以按菜单键的返回键回到主界面。
现针对系统布局规划和互动,设计出相应的流程图如图3-3所示。
图3-3程序流程图
3.4数据存储实现
Android提供了一些方式来存取数据[2,4]。
一是文件方式:
Android可以将文件存储在设备或其它移动媒介上。
二是数据库方式:
Android有SQLite数据库的API。
应用程序可以创建和使用SQLite数据库。
三是网络方式:
Android还支持使用网络存取数据的方式。
除此之外,Android还可以向其它应用程序请求并获得数据。
本系统采用SQLite数据库的方式来存取数据,它只有表格一种数据结构。
在这里只需创建一张能保存需要拦截的联系人表,当然以后可以根据需求与功能的完善和增加,可以对数据库进行升级。
3.4.1设计数据库及表结构
按照需求分析,设计数据库和表的结构如表3-1所示。
表3-1blackcontact表的结构描述
属性
类型
含义
备注
id
INTEGER
主键ID
name
text
拒接联系人姓名
number
text
拒接联系人号码
备注
text
拒接联系人备注
描述文字
3.4.2设计SharePreference存储
SharePreference是Android提供用来存储一些简单配置信息的一种机制。
针对此程序需要存储对应用程序的设
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Android 手机 防火墙 设计 实现 资料