`
dyllove98
  • 浏览: 1409110 次
  • 性别: Icon_minigender_1
  • 来自: 济南
博客专栏
73a48ce3-d397-3b94-9f5d-49eb2ab017ab
Eclipse Rcp/R...
浏览量:39175
4322ac12-0ba9-3ac3-a3cf-b2f587fdfd3f
项目管理checkList...
浏览量:80245
4fb6ad91-52a6-307a-9e4f-816b4a7ce416
哲理故事与管理之道
浏览量:133370
社区版块
存档分类
最新评论

android 流量统计实现思路

阅读更多

个人博客已经迁移到如下网站 萌萌的IT人后续所有的文章都会在此发布

 

 

 

----------------------------------------------------------------------------------

首先了解android提供给流量统计的api


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


有兴趣的朋友可以读读这个类的源码


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

 

  static long  getMobileRxBytes()  //获取通过Mobile连接收到的字节总数,不包含WiFi
  static long  getMobileRxPackets()  //获取Mobile连接收到的数据包总数,不包含WiFi
  static long  getMobileTxBytes()  //Mobile发送的总字节数
  static long  getMobileTxPackets()  //Mobile发送的总数据包数
  static long  getTotalRxBytes()  //获取总的接受字节数,包含Mobile和WiFi等
  static long  getTotalRxPackets()  //总的接受数据包数,包含Mobile和WiFi等
  static long  getTotalTxBytes()  //总的发送字节数,包含Mobile和WiFi等
  static long  getTotalTxPackets()  //发送的总数据包数,包含Mobile和WiFi等
  static long  getUidRxBytes(int uid)  //获取某个网络UID的接受字节数
  static long  getUidTxBytes(int uid) //获取某个网络UID的发送字节数

 
最后再次提醒,TrafficStats类工作在Android 2.2 API Level为8的固件上。如果想支持android8以下的系统请参考TrafficStats源码
这些数据都是从这次开机开始,到查询的时间的流量,关机之后将被清


如何去设计:
      因为每次开机都不一样,所以要设置一个广播接收器接收开机和关机的广播,决定对流量的初始化工作和保存工作。当然在每次查看流量的时候也要做一次查询和保存工作,把统计的数据保存到数据库里。


如何设计数据库?
          一个数据表记录:每次查询的值,查询的时间,网络类型,网络流量,是否为关机时保存的标志。
         每次查询的总流量 = 当次流量 + 所有关机保存的流量, 还可以在程序启动之后开启一个服务,没隔多长时间保存一次。还有在每天晚上12点(11:59分)的时候做一次保存工作。还有一次需要注意的是getUidRxBytes(int uid)只能取到所有的数据,包括2g/3g和wifi

以上可能不够完善,欢迎指正

http://www.javady.com/index.php/category/javavm

2
0
分享到:
评论

相关推荐

    android 流量统计源代码

    综上所述,开发一个Android流量统计工具需要对网络接口、数据持久化以及UI设计有深入理解。通过监听网络状态、统计流量数据并持久化,我们可以为用户提供一个实用的流量监控工具。对于提供的压缩包文件...

    Android APP流量统计源码.rar

    不过,你可以通过阅读源码,理解其设计思路和实现方法,这对于学习和实践Android流量统计是非常有价值的。在使用过程中,如果遇到无法运行或功能不全的问题,需要自行调试和修复,这也是提升编程能力的好机会。 总...

    Android-NetworkConnectionClass监听App中当前网络的流量然后对网络质量进行分类

    在`Network Connection Class` 中,流量统计是关键功能。Android提供了一个名为`TrafficStats` 的类,它可以用来统计移动网络和Wi-Fi的数据使用情况。`TrafficStats` 提供了一系列方法,如`getMobileRxBytes()` 和 `...

    android手机安全卫士--源码

    该应用的源码包含了九个主要功能模块,包括手机防盗、通讯卫士、软件管家、手机杀毒、缓存管理、进程管理、流量统计、高级工具以及设置中心。接下来,我们将逐一解析这些功能模块的核心技术和实现方式。 1. 手机...

    android 手机安全卫士工程源代码

    3. **流量监控模块**:为了帮助用户节省数据,安全卫士会追踪应用的网络使用情况,提供流量统计和警告功能。源代码中涉及网络监听和数据统计的部分值得深入研究。 4. **骚扰拦截模块**:针对电话和短信的垃圾信息,...

    基于Android的手机安全管理软件的设计与实现毕业论文.doc

    总结来说,这篇毕业论文详细探讨了基于Android的手机安全管理软件的设计思路和实现方法,对于理解移动设备安全防护机制和提升用户体验具有重要的参考价值。通过深入研究和实践,不仅提升了软件的安全性能,也为未来...

    Android应用源码之手机卫士.zip

    同时,“Android应用源码之手机卫士”文档可能包含了设计思路、开发过程和调试技巧,为学习Android应用开发提供了宝贵的实践案例。 总的来说,"Android应用源码之手机卫士.zip"为我们提供了一个全面了解Android安全...

    基于Android的移动视频学习平台的构建.pdf

    1. **Web后台管理** - 使用SiteServer CMS作为后台管理系统,它基于.NET平台,提供内容管理、多站点管理、定时任务和流量统计等功能。开发环境为Windows Server 2003、IIS 6、SQL Server 2005和.NET Framework 3.5。...

    基于Android平台的软件自动化监控工具的设计开发.pdf

    总的来说,这篇论文为开发针对Android平台的软件自动化监控工具提供了详尽的设计思路和技术方案,对于Android应用开发者和性能优化人员具有很高的参考价值。通过这样的工具,我们可以更有效地管理和优化Android应用...

    Android应用源码之PushMessage百度的-IT计算机-毕业设计.zip

    - 在毕业设计中,除了实现功能外,还需要撰写论文,详细阐述设计思路、技术选型、实现过程、遇到的问题及解决方案,以及对项目的评估和未来改进方向。 通过学习这个源码Demo,你可以深入理解Android推送服务的原理...

    Download_Mgr:Android下载管理器

    Download_Mgr还具备流量监控功能,能够统计每个下载任务的总流量消耗,这对于用户监控数据使用情况非常有用。这通常通过监听网络活动并在数据传输时累加计算。 4. **基本任务控制**: 用户可以暂停、继续或删除...

    天鹰It阅读

    其设计思路可能包括响应式布局,适应各种屏幕尺寸,以及针对横屏和竖屏模式的优化。同时,为了降低用户在阅读过程中的视觉疲劳,可能会采用夜间模式或者护眼模式,调整背景色和字体颜色,确保长时间阅读的舒适性。 ...

    时间轴记录的记账记事本

    此外,这样的设计也便于用户进行分类统计,比如分析信用卡消费占比,或者监控现金流量,从而更好地控制个人或家庭的财务状况。 在实现技术方面,Android软件源码是实现这一功能的基础。Android平台提供了丰富的UI...

    淘宝客户端高性能高稳定性应用框架

    - 实现运行时统计,以便识别并动态调整参数以适应不同的设备瓶颈。 4. **用户体验优先**:将用户体验作为产品开发的核心,不仅注重界面设计,还关注性能方面的提升。 #### 最佳实践 - **交互细节**:重视交互设计...

    案例一-餐饮企业管理系统需求规格说明书1.5.docx

    - **数据统计**:查看整个系统的统计数据,如营业额、客户流量等。 - **系统设置**:配置系统的各项参数。 ##### 2.1.2 功能需求:餐厅后台管理 - **菜单管理**:添加、删除和编辑菜品信息。 - **订单处理**:接收...

    毕业设计论文-在线教育系统设计.zip

    7. **云服务**:系统可能部署在AWS、阿里云或Google Cloud等云平台上,利用其弹性计算、存储和CDN服务,以应对流量波动。 8. **课程管理系统**:包括课程创建、发布、更新,以及分类、搜索和推荐等功能,可能运用了...

    智慧水文系统平台建设方案.docx

    - **数据采集与传输子系统**:部署物联网传感器,实现对水位、流量、水质等数据的自动采集;通过无线通信技术(如4G/5G)将数据实时上传至云端。 - **数据存储与分析子系统**: - 数据存储:使用分布式文件系统HDFS...

    大数据技术与应用专业详细解读.docx

    学生在实验室中完成阿里基于 Android、iOS 等平台的 app 开发,并可以在平台上进行数据信息交易、数据挖掘、数据统计与分析等应用,不断提升自己运用、解释、挖掘数据的能力,同时完成新技术领域的探索与实现。...

Global site tag (gtag.js) - Google Analytics