由于自己手机每月只有100M流量  最近总是不够用  所以 想研究一下android的流量统计  这样的话就能随时了解自己使用流量的记录

之初也咨询了一些朋友  发现研究这方面的人比较少

在网上也搜罗到一些资料  最基本的都是这些

TrafficStats类

其中的重要方法有如下:

01 staticlong  getMobileRxBytes()  //获取通过Mobile连接收到的字节总数,不包含WiFi  
02 staticlong  getMobileRxPackets()  //获取Mobile连接收到的数据包总数  
03 staticlong  getMobileTxBytes()  //Mobile发送的总字节数  
04 staticlong  getMobileTxPackets()  //Mobile发送的总数据包数  
05 staticlong  getTotalRxBytes()  //获取总的接受字节数,包含Mobile和WiFi等  
06 staticlong  getTotalRxPackets()  //总的接受数据包数,包含Mobile和WiFi等  
07 staticlong  getTotalTxBytes()  //总的发送字节数,包含Mobile和WiFi等  
08 staticlong  getTotalTxPackets()  //发送的总数据包数,包含Mobile和WiFi等   
09 staticlong  getUidRxBytes(intuid)  //获取某个网络UID的接受字节数  
10 staticlong  getUidTxBytes(intuid) //获取某个网络UID的发送字节数

备注:TrafficStats类在Android 2.2 API Level(8)之后出现。

但是这些方法 获取到的流量数据都是从手机上次开机到当前的流量使用情况

所以需要准确记录流量数据  就必须监听手机的开机和关机

关机的时候 将数据都存储起来   下次开机后通过以上方法获取到的数据 在叠加上

但是 我发现在这些方法里 就缺少我最需要的那个方法

我想获取某个app接受和发送的 2G/3G流量  不包含wifi  但是这些方法里没有  看来 我需要另外寻找办法了

于是我又去咨询朋友   遇上一个前同事正好在研究这个。 算是帮上我大忙了。

他 给我的建议是  获取流量信息 可以去读取系统文件 /proc/net/dev

/proc/net/xt_qtaguid/stats 这个文件则包含了每个app使用数据的情况  这下算是找到办法了

stats文件大致是这样的

剩下的就是如何去读取这个文件了。

在网上搜了搜

用FileReader来读取文件

DEV_FILE = “/proc/net/xt_qtaguid/stats”

FileReader fstream = null;try {fstream = new FileReader(DEV_FILE);} catch (FileNotFoundException e) {DisplayToast("Could not read " + DEV_FILE);}BufferedReader in = new BufferedReader(fstream, 500);

这样再用while循环去读取in里每行的数据

上图中

这是表头   iface 则代表流量的类型 为rmnet就是2G/3G流量   wlan 是wifi流量

手机  打开wifi的时候 就只有wlan    打开数据的时候 就只有2G/3G

而流量的具体数据 就要获取rx_bytes   和   tx_bytes 这两个字段了

整个表 字段很多 其他的暂时没研究

读取这个文件的时候  我看网上 的办法也都是这样 循环读取每行数据  然后创建很多个数组去保存每行数据

然后   需要的数据  就从相应的数组里去取。

大致研究的结果就是这些

最近因为工作比较忙 就没有继续研究下去了

android 流量统计相关推荐

  1. Android流量统计TrafficStats类

    对于Android流量统计来说在2.2版中新加入了TrafficStats类可以轻松获取,其实本身TrafficStats类也是读取Linux提供的文件对象系统类型的文本进行解析. android.n ...

  2. android 双卡流量统计,android流量统计

    android流量统计 (2012-07-31 12:28:34) 标签: 杂谈 研究过一段时间的android流量统计 发个自己的总结帖 1 android有一个TrafficStats类可以直接获 ...

  3. android页面统计代码,android流量统计(示例代码)

    android.net.TrafficStats类中,提供了多种静态方法,可以直接调用获取,返回类型均为long型,如果返回等于-1代表 UNSUPPORTED 当前设备不支持统计. static l ...

  4. android 流量统计工具,Android 统计应用流量的使用情况

    Android 获取应用流量的使用情况有两种方法 TrafficStats NetworkStatsManager 是Android 6.0(API23)中新增加的类 这次我们使用的是第二种方法,记录 ...

  5. Android流量统计

    项目中需要对Android设备进行流量统计来进行资费结算,所以对Android设备流量统计进行了一些调研.发现流量统计主流上有两种方式 使用系统统计类TrafficStats获取 通过系统文件解析读取 ...

  6. android 流量统计助手,流量统计 My Data Manager v7.3.1

    更新时间:2017-02-19 资费提示:免费版 当前版本:7.3.1 软件语言:中文 软件类别:计费统计 软件大小:7.24 MB 适用固件:2.2及更高固件 内置广告:没有广告 开发商:Mobid ...

  7. android 流量统计换算,iOS 统计流量信息(转)

    在开发中,有时候需要获取流量统计信息.研究发现:通过函数getifaddrs来得到系统网络接口的信息,网络接口的信息,包含在if_data字段中, 有很多信息, 但我现在只关心ifi_ibytes, ...

  8. android 流量统计不准确_汽车里程表上显示的百公里油耗准确吗?是不是真的是欢乐表...

    汽车表显油耗准不准需要根据不同的实际工况来确定,如果是长期保持匀速行驶状态,那么表显油耗更接近实际油耗,但如果是混合工况下.走走停停,那么表现油耗就没准了,而这个时候表显油耗会比实际油耗低,所以表现油 ...

  9. android 流量统计换算,什么是流量?如何计算流量?流量的单位如何换算

    什么是流量?如何计算流量?流量的单位如何换算 上网流量通常用"位"(bit),"字节"(Byte),KB,MB,GB,TB等来表示.它是计算机信息技术用于计量存 ...

最新文章

  1. c语言编程能控制热风炉,利用C语言设计热风炉悬链线拱顶研究.pdf
  2. 攻防世界Reverse第七题simple-unpack
  3. 机器学习中数据预处理的方式
  4. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_05 IO字符流_9_JDK7和JDK9流中异常的处理...
  5. 组态软件专用短信终端
  6. 木疙瘩动画效果视频学习
  7. 用python分析股票收益影响因素的方法_Python3对股票的收益和风险进行分析
  8. word设置多级目录
  9. 如何在树莓派上进行python编程_树莓派Python编程指南
  10. 央行 继续实施稳健货币政策适时适度预调微调
  11. 计算机wps文字基础知识,计算机基础及WPS Office应用常见考试内容
  12. java加密与解密的艺术.pdf_Java加密与解密的艺术
  13. html2canvas实现一键截图
  14. BM27 按之字形顺序打印二叉树
  15. c++中bitset的用法总结
  16. AccountManager.createAccount异常
  17. 996的压力下,程序员还有时间做副业吗?
  18. vcs -fgp 仿真加速功能
  19. 兴趣探测的模型化探索
  20. 腾讯地图关键字智能提示搜索

热门文章

  1. 品高云生态video:爱数备份系统+品高云=云备份服务
  2. 微信小商店快递单怎么一键打印;具体操作流程是什么?丨国仁猫哥
  3. 如何正确挑选建立关键词词库
  4. ps眼睛糖果滤镜插件:eye candy 7 汉化版(支持ps2021)
  5. bootstra查阅参考文档
  6. Ae487 4K分辨率金色闪光粒子沙流动画特效大气高贵晚会宣传开场视频片头ae模板​
  7. 数说故事车企数字化转型案例分享——内容营销如何促进品牌增长
  8. iPhone14或仍有刘海,设计、芯片都不变;微信聊天对话框支持放大编辑;Android 13正式版发布|极客头条...
  9. 三运放构建仪表放大器
  10. 智能家居弱电布线设计需要注意什么