首先,先上效果图:包括本月总的wifi流量和234g流量,同时能够统计出本日使用wifi和234g流量最多的APP,并且进行排序(事实上,实现了:每一个APP的每一天和手机总流量的数据都存在SQLite中,所以你想怎样显示就怎样显示)

一、前期准备:
关于Android系统自带API,TrafficStack的使用,其中uid是指每个APP独一无二的标示,在Android中,第三方APP标志大于10000,如10021代表微信这个APP。

1、 getMobileRxBytes() //获取通过Mobile连接收到的字节总数,不包含WiFi
2、 getMobileTxBytes() //Mobile发送的总字节数
3、 getTotalRxBytes() //获取总的接受字节数,包含Mobile和WiFi等
4、 getTotalTxBytes() //总的发送字节数,包含Mobile和WiFi等
5、getUidRxBytes(int uid) //获取某个网络UID的接受字节数
6、 getUidTxBytes(int uid) //获取某个网络UID的发送字节数

需要注意的是,上面的函数,只能计算本次开机都目前为止的流量情况,关机之后重新清零,数据存在文件夹中:
/proc/uid_stat/uid/tcp_send 上传流量
/proc/uid_stat/uid/tcp_rcv 下载流量

二、考虑的细节
利用上述API实现流量的统计,需要解决的问题有:
1、设定Service长期在后台监测本APP的流量情况,设定时间间隔差,如360的流量助手以3S为间隔;
2、解决后台服务被回收的问题(被回收后如何重新启动?如何能继续正确统计?);
3、如何区分出不同日期的流量使用情况?办法是利用数据库+间隔统计法;
4、开机要启动监听,网络状态变化要改变流量监听节约资源,关机要做标示,下次开机重新计算的时候,才知道要加上上次关机的流量值;
5、非正常关机状态,如死机拔掉电池;
6、如何统计3S内的流量差(wifi情况和234g情况)

以上六点,是做出本APP最主要的部分,看起来挺简单,但是细节上要多注意,对于Android四大组件的生命周期要有较好的把握,否则,算出来的数据不准确。

终极版:Andorid手机流量监测思路与代码实现(一)相关推荐

  1. PC版微信加密图片解密思路与代码实现_Python

    PC版微信加密图片解密思路与代码实现_Python 前言 PC版的微信会加密存储用户接受到的所有图片信息. 存储路径为 C:\Users\用户名\Documents\WeChat Files\微信号\ ...

  2. 阿里巴巴Java开发手册终极版网页版v1.3.0

    前言 一 .编程规约 ( 一 ) 命名风格 ( 二 ) 常量定义 ( 三 ) 代码格式 ( 四 ) OOP规约 ( 五 ) 集合处理 ( 六 ) 并发处理 ( 七 ) 控制语句 ( 八 ) 注释规约 ...

  3. iOS开发监测手机流量使用情况

    获取手机使用流量存在几个问题: ①iOS是无法像Android一样监听到开机广播和关机广播的,立刻关机再开机,监测的移动网络下流量会默认清空. ②应用在后台运行时,突然被杀死,无法对流量统计,需要在应 ...

  4. qbittorrent手机版怎么用_衡东手机流量卡怎么用

    衡东手机流量卡怎么用 如有提问,请私信.***近新办的个人独资企业就这样办理过. 在 ***需要注册与从业资格相对应的证书. 衡东手机流量卡怎么用 一.建立网站推广工作的基本流程通过初步评估,初步了解 ...

  5. 推荐几款比较好的手机流量监控软件

    推荐几款比较好的手机流量监控软件 目前的手机,用途是越来越大,上网,QQ.微博.微信.各种手机版的网络应用都需要网络的支持.尽管各种手机网络应用都一再宣称不消耗流量,免流量等等,不过相信很多人在月中甚 ...

  6. Java学习必备书籍推荐终极版!

    很早就想把JavaGuide的书单更新一下了,昨晚加今天早上花了几个时间对之前的书单进行了分类和补充完善.虽是终极版,但一定还有很多不错的 Java 书籍我没有添加进去,会继续完善下去.希望这篇文章对 ...

  7. matlab 30案例 目录,MATLAB-智能算法30个案例分析-终极版(带目录).doc

    MATLAB-智能算法30个案例分析-终极版(带目录) MATLAB 智能算法30个案例分析(终极版) 1?基于遗传算法的TSP算法(王辉)? 2?基于遗传算法和非线性规划的函数寻优算法(史峰)? 3 ...

  8. Hyper-v下安装网络流量监测图形分析工具 Cacti

    网络流量监测图形分析工具Cacti,在虚拟机上安装,易于使用,便于移植,在Vmware上安装的已有介绍,这里略过,这里主要介绍在微软虚拟机Hyper-v上的安装过程. 安装前准备: 1.安装虚拟机Hy ...

  9. Java面试通关要点汇总集【终极版】

    原文地址:梁桂钊的博客 博客地址:blog.720ui.com 年前,我整理的 Java面试通关要点汇总集 获得了很多读者的肯定,谢谢大家支持.事实上,笔者结合自己过往的面试经验,整理了一些核心的知识 ...

最新文章

  1. SMS主站点配置详细图解:Sms2003系列之二
  2. 如何在多Node版本的情况下公用一个npm
  3. UA MATH563 概率论的数学基础 鞅论初步1 条件期望
  4. 【IdentityServer4文档】- 欢迎来到 IdentityServer4
  5. 静态static关键字修饰成员变量
  6. Jsp传值方式(乱码问题的解决)
  7. MindSpore21天实战营丨基于MindSpore的ResNet-50蘑菇“君”的识别应用体验
  8. Java工程带库编译运行
  9. c语言程序设计谭浩强题库,谭浩强c语言程序设计习题答案
  10. 计算机病毒有几个阶段,计算机病毒发展9阶段
  11. DMX512协议及对接口电路的分析
  12. linux系统 锐捷_Ubuntu Linux锐捷安装方法
  13. axure 7.0 注册码
  14. Java实现观察者模式
  15. java8中数据类型_Java 8中 基本数据类型
  16. JavaScript高级程序设计读书笔记(第6章面向对象的程序设计之创建对象)
  17. vmware虚拟化故障虚拟磁盘丢失恢复办法
  18. Java的基础语法(二)
  19. VM 虚拟机挂起之后,关闭虚拟机,第二天重启之后,连接不上 。静态ip设置
  20. Windows使用Docker出现exit 139错误

热门文章

  1. bitmap index的优化案例
  2. 关于惠普无线网卡驱动报警无法连接网络解决办法
  3. 宽带网速测试皮肤软件,【问题求助】这个网速测量皮肤测量的网速不准哪大神知道原因?...
  4. Navicat导出链接查看数据库明文密码
  5. 21点游戏双人对战(javaweb形式)
  6. Java实现千万级Excel导出(含POI下载地址)
  7. RPGJS 进阶分析之 如何使用RMXP导出的数据
  8. 机器学习周志华5.13式推导以及BP算法理解
  9. hibernate.cfg.xml配置时出现的问题
  10. phpcms内容限制(转发自王小明爱红领巾)