【Android论文栏目提醒】:文章导读:在新的一年中,各位网友都进入紧张的学习或是工作阶段。
网学会员整理了Android论文-基于Android平台的GPRS流量统计系统 - 期刊论文的相关内容供大家参考,祝大家在新的一年里工作和学习顺利!
2011 年 第 20 卷 第 12 期 http://www.c-s-a.org.cn 计 算 机 系 统 应 用基于
Android 平台的 GPRS 流量统计系统①黄 婧 1,张 林 1,季 刊 1,李文龙 21 西南石油大学 计算机科学学院,成都 6105002 西南石油大学 资源与环境学院,成都 610500摘 要:GPRS 是目前手机上网最主要的数据传输技术之一,因其数据传输速度快而受到了用户的青睐,但是使用费用之高,用户稍不注意就会产生巨额的上网费用。
因此对 GPRS 流量进行实时监控,并能及时通知使用者,这对用户来说十分必要。
Android 是近年来发展十分迅速的一种基于 Linux 平台的手机操作系统。
通过研究基于
Android 平台的 GPRS 流量统计,在此基础上设计并实现了 GRPS 流量统计系统。
该系统能实时显示流量信息、导入与导出历史数据,同时还可以根据用户设置的流量阀值,及时提醒用户等。
关键词:GPRS;
Android;流量统计;导入;导出GPRS Traffic Statistic System on
Android PlatformHUANG Jing1 ZHANG Lin1 JI Kan1 LI Wen-Long21 School of Computer Science Southwest Petroleum University Chengdu 610500 China2 School of Resource and Environment Southwest Petroleum University Chengdu 610500 ChinaAbstract: GPRS is one of the most important technologies for the mobile Internet. Because of its high data transmissionspeed GPRS has been users’ favorite. But its cost is high. Therefore it is necessary for the user to monitor GPRS trafficdata real-time and notify to the user in time.
Android is a Linux-based mobile phone operating system with a very rapiddevelopment in recent years. This paper firstly researches the traffic statistics based on
Android platform and thendesigns a GPRS traffic statistic system. The system can display real-time traffic information import and export ofhistorical data. Also users can set the flow threshold to notify to themselves in time.Key words: GPRS
Android traffic data import export1 引言 2 系统总体架构 GPRS 是通用分组无线服务技术General Packet 本文设计了基于
Android 平台 GPRS 流量统计系Radio Service的简称,它是 GSM 移动电话用户可用的 统。
系统的总体架构如图 1 所示。
一种移动数据业务。
这项技术使用户可以在任何时间、任何地点都能方便地实现连接;传输速度快,可以稳定地传送大容量的高质量音频与视频文件。
但是其流量费用之高,如果用户没有实时查询流量数据,有可能会造成巨大的经济损失。
Android 是基于 Linux 平台的开源手机操作系统,是目前比较受欢迎的手机操作系统之一, Google 和 由二十多家重量级企业联名提供技术支持,因此基于该平台对 GPRS 流量信息进行统计研究将更加有前景。
图 1 系统架构图① 收稿时间:2011-04-18收到修改稿时间:2011-05-23 Application Case 实用案例 141计 算 机 系 统 应 用 http://www.c-s-a.org.cn 2011 年 第 20 卷 第 12 期 系统包括 6 部分:UI、SD Card、Service、DB、 rmnet1 0 0 … 0Manager 以及 CP。
rmnet2 0 0 … 02.1 UI tiwlan0 2873 20 … 0该组件主要涉及到该系统的界面部分。
例如:系统的 表 1 显示了本次上网接收到的所有网络流量统计主界面 、 (列出当月或当天的流量信息) 月信息界面(月 信息,其中 GPRS 接收到数据 5645 字节,包 44 个。
、日信息界面流量信息、月费用信息以及月流量明细) 表 2 发送的数据统计(日流量信息、日费用信息以及日信息明细)以及属 发送性设置界面等。
face bytes packets … compressed2.2 SD Card lo 1040 12 … 0 实现指定时间段内流量数据的导入以及导出。
rmnet0 8077 46 … 02.3 Service rmnet1 0 0 … 0 对流量数据进行实时监控;将获取到的数据更新 rmnet2 0 0 … 0到 DB 中;对开机动作进行监听;对网络连接状态进 tiwlan0 2974 48 … 0行监听。
当用户开机同时网络正常连接的情况下,Service 应该被启动以便能及时更新 DB 中的数据;另 表 2 显示了本次上网发送出的所有网络流量统计一方面,还能够监听网络状态的变化。
当网络连接被 信息,其中 GPRS 发送出数据 8077 字节,包 46 个。
关闭时,Service 被停止掉;当网络连接被打开时, 3.1 两种常见的获取方式:Service 又可以自动重启。
3.1.1 命令行方式获取2.4 DB、Manager 以及 CP ① 通过 cd 命令进入/proc/self/net/目录 DB Database 用 于 存 储 流 量 以 及 配 置 信 息 ; ② 查看 dev 文件信息,该文件记录了所有进程使Manager 主要用于给外部提供访问 DB 的接口;CP 用 用的网络流量信息于对 DB 进行封装,当其他的应用程序需要使用该 DB 命令:adb shell cat dev中的数据时,只需要知道访问该 DB 的 URI 便可,有 3.1.2 编码获取效地实现数据共享。
此处编码利用 java 实现。
利用 FileReader 读取 /proc/self/net/dev 打开文件; 对该文件一行一行的读取,3 GRPS流量统计关键技术 直到发现以 rmnet0 开头的行,这就意味着找到了包含 在
Android 平台下获取应用程序流量信息,需要 GPRS 流量数据的信息;接下来只需要对该行数据进读取 Linux 内核/proc/self/net/dev 文件,该文件保存了 行解析,获取出其中发送与接收的总字节数。
示例代从开机到现在的所有网络流量信息,如表 1、表 2 中 码如下所示: //利用 FileReader 打开/proc/self/net/dev 文件所示(表中数据显示了运行命令时刻的网络流量信 FileReader fstream new息)。
从表中数据可以看出,该网络数据主要包含两部 FileReader“/proc/self/net/dev”分:接收到的数据以及发送出的数据。
表 1 显示了接 BufferedReader in new BufferedReaderfstream 500收到的数据流量信息,而表 2 显示了发送出的数据流 //一行一行地读取该文件内容量信息。
同时统计出的选项包括很多,其中 GRPS 网 while line in.readLine null 络流量信息主要被统计在 rmnet0 中。
line line.trim 表 1 接收的数据统计 //找到了以 rmnet0 开头的行,对其进行解析 接收 if line.startsWith“rmnet0” face bytes packets … compressed //将该行数据以“:”或空格间隔的字串分割开 lo 1040 12 … 0 segs line.trim.split: rmnet0 5645 44 … 0 receivedBytes Long.valueOfsegs1 //接收142 实用案例 Application Case2011 年 第 20 卷 第 12 期 http://www.c-s-a.org.cn 计 算 机 系 统 应 用 sendedBytes Long.valueOfsegs9 //发送 154.26KB;当月已用流量 154.26KB;本月包月流量 break //跳出循环 20.00KB;剩余包月流量为 0B。
用户可以根据进度条 比例,直观地了解 GPRS 网络流量使用情况。
图 3 显示的是当天的流量信息图,利用不同的颜3.2 流量信息存储 色对发送与接收数据进行标注。
在当天使用的 流量的统计主要靠 Service 实现,为了让流量数据 154.26KB 数据中,接收到的数据有 119.05KB,而发具有实时性,该 Service 会定时读取/proc/self/net/dev 送出的数据为 35.21KB。
文件,对流量数据进行解析与计算,最终将计算出的结果存储到 Database 中。
当用户开机,如果此时网络连接状态良好, Service 则会启动以实现对数据的实时统计;同时它也会对网络的连接状态进行监听, 如果网络连接被关闭, Service 也 该会自动停止;相反,当网络被连接上时,该 Service 也会自动启动,以免造成数据统计的不正确。
统计后的数据被存储到数据库中,以供 UI 显示;当当月或当天的总流量超过一定的限制(由用户自己设定) 会改变 UI 窗口插件中文字颜色以警告用户, 时,以免造成不必要的经济损失。
3.3 流量显示 图 3 当天流量信息图 利用 Service 存储到数据库中的数据,UI 以不同的方式进行显示,包括:显示当月以及当天的流量信 5 结语息;利用柱状图更形象地显示某与或某天的流量以及 本文提出了一种在
Android 平台上利用流量统计费用情况;当流量超过一定限制(由用户自己设定) 技术实现 GPRS 流量统计系统的方案。
该系统最主要时,改变 UI 窗口插件中文字的颜色以警告用户;当数 的目的就是对当月、当天的 GPRS 流量数据进行统计,据库容量达到一定的限制时,显示提示信息以警告用 并实时地显示给用户,用户根据信息数据判断是否超户;提供手动连接或断开网络的功能。
额使用,以免造成不必要的经济损失。
同时
Android 平台是首个为移动终端打造的真正开放和完整的移动4 实验结果 软件,所以其未来的发展是一种市场趋势和导向。
而 以下是在该系统下截取到的几张图片。
将 GRPS 流量统计技术应用到该平台上,有很好的商 业前景。
参考文献 1 Haseman C.
Android Essentials. New York: Apress 2008: 1929. 2 Murphy ML.
Android Development. United States: Commons Ware 2008:263275. 3 高焕堂.
Android 应用框架原理与程式设计.第 3 版.台北: MISOO 设计中心2008.243246. 4 韩超梁泉.
Android 系统原理及开发要点详解.北京:电子工 业出版社2010.259267. 5 王少锋.面向对象技术 UML 教程.北京:清华大学出版社 图 2 系统首页 2004.4870. 图 2 显示的是系统首页,利用在
Android 平台下 6 毛曙福.Linux C 高级程序员指南.北京:国防工业出版社获取 GPRS 网络流量技术,统计到当天已用流量 2001.512. Application Case 实用案例 143