1基于Android的手机流量控制软件设计与实现21绪论1.1手机移动互联网进展这些年,移动通信和互联网成为当今世界发展最快、市场潜力最大、前景最诱人的两大业务。它们的增长速度都是任何预测家未曾预料到的。至今,全球移动用户已超过15亿,互联网用户也已逾7亿。中国移动通信用户总数超过3.6亿,互联网用户总数则超过1亿。这一历史上从来没有过的高速增长现象反映了随着时代与技术的进步,人类对移动性和信息的需求急剧上升。越来越多的人希望在移动的过程中高速地接入互联网,获取急需的信息,完成想做的事情。所以,现在出现的移动与互联网相结合的趋势是历史的必然。目前,移动互联网正逐渐渗透到人们生活、工作的各个领域,短信、铃图下载、移动音乐、手机游戏、视频应用、手机支付、位置服务等丰富多彩的移动互联网应用迅猛发展,正在深刻改变信息时代的社会生活,移动互联网经过几年的曲折前行,终于迎来了新的发展高潮。IPv6带动移动互联网发展。目前,在移动电话领域正在掀起IP化热潮。实际上,制订下一代移动通信系统“IMT-2000”标准的3GPP已经决定在下一代移动技术的基本协议中采用IPv6。因特网及手机相关人员认为手机将率先正式使用IPv6。如果移动电话业务中配备IPv6,那么很可能在短时间内几亿手机用户将成为IPv6的用户。从这个意义上来说,移动电话的IPv6化能否顺利发展决定了IPv6的未来。反过来,IPv6也推动了一些IPv6相关标准的发展,例如:3GPP、3G-IP、WAP。后3G时代的移动互联网业务将向用户提供个性化、内容关联和交互作业的应用。其业务范围将涵盖信息、娱乐、旅游和个人信息管理等领域。随着语音处理技术的成熟,语音门户网站将使互联网的易用性达到新的水平。举例来说,声音识别和处理技术将实现语音浏览、查询航班时刻表和票务等网上信息。到那时,移动设备的键盘大小就不再是关键问题,因为大部分指令可以用声音实现人机交流。用户界面可以是单一模式(应答也可以转化为语音)或多重模式(有些指令和应答是图形化的)。目前的商务模式正演变成移动性与互联网合二为一的新模式。它对运营商和供应商的能力都提出了新的要求。了解移动性和移动商务的特性将是建立未来网络与业务推出的关键环节。3G的成功将取决于速度:针对细分的客户群开发应用和终端的速度,开发新业务的速度,降低网络开发成本,使网络投入使用的速度加快。它将是把握和利用手边拥有的服务和内容的能力。由于服务质量和反应时间事关用户对多媒体的体验,运营商此刻的商业地位极佳,既可以自己向用户提供媒体服务,又可以向内容提供商提供媒体主机托管业务。随着越来越多的内容和语音服务逐渐数字化,内容将更具移动性,更加个性化。业内各方(运营商、内容提供商、应用开发商)只有向最终用户提供高价值的服务,才能使自己占居有利位置。3同时,能充分适应不同传输格式(移动终端、电视、PC)的内容才能称得上最佳。后3G时代的移动互联网服务主要包括浏览、Java客户端应用、多媒体流和下载流媒体等业务。1.2手机系统现状手机操作系统是时下最火热的话题之一,大家都在追随不断新出的操作系统。虽然它的火热程度在持续高涨,但是手机操作系统的发展并不是那么长久。在2002年之前,并没有严格意义上的手机操作系统,因为能完成通话功能的手机都是由厂家自己做芯片,然后配上相应的软件就可以完成。不过此后,手机的品种越来越多,发展也越来越快,随着人们对手机的需求也越来越大,智能手机和手机操作系统就应运而生了。目前热门的手机操作系统主要有5种:1)塞班(Symbian)昔日的行业大哥,这个日渐落寞的操作系统,曾经红遍天下。但是随着近些年苹果和谷歌的发力,一直在走下坡路,塞班的市场份额已经降到了谷底。有统计显示,到去年年底,塞班系统的全球市场占有量仅有22.1%。虽然基本的常用软件非常的丰富,但是塞班系统弊病不断,在更激烈的竞争中败下阵来。随着塞班的沦陷,诺基亚也沦落了。曾经,诺基亚在芬兰几乎是国家的象征。现在,为了改变颓势,又需要寻求突围了。代表手机:诺基亚,索尼爱立信、LG2)安卓(Android)2008年,谷歌发布了Android操作系统,从此智能手机操作系统界不再安静。2009年,原来引用塞班平台的厂商,比如LG、索尼爱立信等纷纷退出塞班平台,投入Android领域。不久,Android系统就取代了塞班成为智能手机操作系统的霸主。在2011年的第一季度,Android在全球的市场份额就已经超过了塞班,位居世界第一。到了2011年底,Android占据了全球52.5%的份额。Android手机的软件非常的丰富,而且基本都是免费的,可以通过多个应用商店下载。另外,Android的本地化也做得很好,刷机非常方便。代表手机:三星,HTC,小米,索尼爱立信、魅族、摩托罗拉,中兴,华为等。3)iOS这么多操作系统中,可以说苹果的使用体验是最好的。Android虽然是霸主地位,但是系统却没有iOS完美。iOS不是开放的系统,它的很多应用多需要付费才能使用。4)WindowsPhoneWindowsPhone发布于2010年10月,作为微软移动的筹码,正式与Android和iOS竞争。2011年2月,诺基亚与微软合作,试图挽回失去的大局。现在已经更新至WindowsPhone7.6了,大家十分期待的WindowsPhone8也将在今年第四季度发布。尽管如此,WindowsPhone可以说是不够成熟的,在中国,行货手机非常少,而且本地化做得也不是特别好。如果有一天,WindowsPhone大面积在中国开卖,相信市场一定会有的,毕竟现在苹果和安卓已经满大街都是了,再加上诺基亚的“砸核桃”功能,一定会引来一阵高潮。代表手机:三星,HTC,LG,中兴等45)黑莓(BlackBerry)黑莓在欧美市场是第一商务智能手机,引入中国后,主要面向政企集团客户,苏宁是独家的销售渠道,不过,国内市场有很多渠道可以买到水货。从市场来看,黑莓在中国并没有那么受欢迎,软件资源也不是那么丰富。总结:移动互联网在一轮又一轮的掀起高潮,这中间智能手机操作系统起到了至关重要的作用。从目前市场来看,主要的竞争还是在于微软、苹果和谷歌之间,三大操作系统可谓是三足鼎立。过不了多久,WindowsPhone8就要出来了,相信到时候市场又会有很大的不同,坐观其变。手机应用开发中的Java技术有如下特点:在信息社会中手机及其他无线设备越来越多的走进普通百姓的工作和生活随着信息网络化的不断进展手机及其他无线设备上网络势在必行。但是传统手机存在以下弊端:1)传统手机出厂时均由硬件厂商固化程序,程序不能增加、删除有了错误也不能更新、修改若要增加新功能必须另换一部手机。2)传统手机访问互联网是通过WAPWirelessApplicationProtocal所有网络资源必须接通网络才能在线访问非常耗时、费用亦很高。而Java技术在无线应用方面的优势非常明显:1)应用程序可按需下载而不是购买由硬件商提供的套件可升级空间大。2)Java技术提供了一个类库它使的应用开发商可以创建更为直觉、丰富的用户界面GUI3)Java技术使网络带宽的应用更为有效因为应用程序可以下载到器件上并在本地运行仅仅是在连接到服务器时才会占用网络带宽。基于以上分析Java手机将是未来手机的发展方向是业界的热点。本次设计正是基于当前热门的android手机应用开发,也就是采用Java语言编程开发。1.3手机流量问题移动互联网的发展和3G手机迅速普及,使用手机上网的用户越来越多。2012年初,爱立信发布了行业趋势报告,报告指出,随着移动数据流量的爆炸性增长,2011年全球智能手机的总流量增长了两倍,预计到2016年,移动用户将达到80亿以上,移动数据流量将比2010年增长10倍,而来自智能手机等移动终端的数据流量将于来自PC和平台电脑的数据流量保持持平。从新增的用户区域来看,该季度新增约1.35亿户,中国和印度占大约40%,分别增加3千万和2千万。其次是中东欧、中东和非洲、占30%,西欧增加了2%,北美增加了3%,拉丁美洲占10%。从数据流量来看,目前,各个国家流量模式差别迥异,即使移动PC仍在大多数移动网络中占主导地位,但有数据显示2011年总移动数据流量将翻一番,此后预计移动数据流量将以60%的复合年增长率持续增长。中国市场android产品的市场份额已经占据了整体智能机市场的68.4%。5然而,伴随着智能机的普及,手机应用流量问题日渐凸显,越来越多的手机应用在使用过程中经常发生“偷”流量现象,因此,关于如何控制手机流量的使用,使其透明,直观的被用户控制成为广大消费者的诉求。本次设计是基于android手机的流量监控软件,旨在实现对手机流量的实时监控和显示,便于用户了解自己的流量使用情况,同时进一步达到合理控制流量使用。2相关技术简介2.1面向对象程序设计方法Java面向对象程序设计的基本思路是通过构造和组织对象来求解问题的。对象很好理解,任何一种物体都可以被认为是对象,例如,汽车就是一种对象。对象具有两个最基本的属性:具有一定的物质基础和一定的功能,这两种基本属性在Java语言中表现为拥有一定的存储单元并具备一定的功能。Java面向对象的程序设计的过程非常简单。这里介绍一种自顶向下的程序设计方法,首先构造一个类来处理需要解决的问题,然后根据已经拥有的类(例如以前求解其他问题时实现的类),分析和构造新的类,设法将问题分解下去,而最开始构造的类通过组织这些新构造的类,已有的类及由他们生成的实例来求解指定的问题。这个过程可以继续递归下去,用在新构造的类上,直到最后解决指定问题,例如Java的应用程序和小应用程序都必须有一个类作为入口求解问题。在计算机语言中,面向对象的类一般具有三个基本特性:封装性,继承性和多态性,这三种特性进一步简化了Java求解模型,提高了程序的复用性,节省了程序的代码量,从而提高软件效率。2.2开发环境及相关技术介绍2.2.1关于eclipseEclipse是替代IBMVisualAgeforJava的下一代IDE开发环境,但它未来的目标不仅仅是成为专门开发Java程序的IDE环境,根据Eclipse的体系结构,通过开发插件,它能扩展到任何语言的开发,甚至能成为图片绘制的工具。目前,Eclipse可以提供C语言开发的功能插件。更可贵的是,Eclipse是一个开放源代码的项目,任何人都可以下载Eclipse的源代码,并且在此基础上开发自己的功能插件。也就是说未来只要有人需要,就会有建立在Eclipse之上的COBOL,Perl,Python等语言的开发插件出现。同时可以通过开发新的插件扩展现有插件的功能,比如再现有Java开发环境中加入Tomcat服务插件。可以无限扩展,而且有着统一的外观,操作和系统资源管理,这也正是Eclipse的潜力所在。不过,虽然Eclipse是以Java写成,应该可以在任何的平台执行。但严格来说Eclipse6不是跨平台的,因为它使用作业平台的原始图形来建置。因此要等SWT(StandardWidgetToolkit)移植到该平台,Eclipse才能在那个平台执行。但就现实而言不是问题,因为SWT已经被移植到数个常见平台上了,包括Windows,Linux,Solaris,QNX,AIX,HP-UX与MacOSXEclipse平台的目的,是提供多种软件开发工具的整合机制,这些工具会成为Eclipse外挂程序,平台必须用外挂程序加以扩充才有用处。Eclipse设计的美妙之处,在于所有东西都是外挂,除了底层的核心以外。这种外挂设计让Eclipse具备强大扩充性,但更重要的是,此平台提供一个定义明确的机制,让各种外挂程序共通合作(透过延伸点extensionpoints)与贡献(contributions),因此新功能可以轻易且无缝地加入平台。2.2.2Android技术Android(安卓)系统是手机或一些平板电脑等终端的操作系统,可以说是现在最流行的系统之一。是目前最流行的手机智能平台,目前广泛的应用在智能手机上,在智能手机领