流量统计小工具

流量统计

阅读本文大约需要5分钟

背景:

《充电三小时偷跑23G流量》,《女子手机一夜跑50G流量》……

定义:

分为上传流量(发送)和下载流量(接收)。下载,就是浏览网页和上网会走信息流量,上传流量是将系统和软件的信息发给服务器。

功能:

纵向:

版本信息、本次流量、流量查询(通过菜单选择切换)

横向:

系统、第三方、全部(通过底部Tab选择切换)

关键类解析:

•apk信息相关类:
PackageManager->PackageInfo->ApplicationInfo

•安装,卸载应用

•查询permission相关信息

•查询Application相关信息(application,activity,receiver,service,provider及相应属性等)

•查询已安装应用

•增加,删除permission

•清除用户数据、缓存,代码段等

ApplicationInfo是从一个特定的应用得到的信息。这些信息是从相对应的Androdimanifest.xml的< application>标签中收集到的。

pm命令介绍:

PackageManager的缩写,命令功能与该类相近

获取流量类:

TrafficStats,可获取手机从开机至当前时间的上传、下载流量情况,可只获取Mobile流量,也可以获取Mobile与Wifi的总量

记录数据类:

SQLiteDatabase,增删改查

广播:

关机、重启、日期改变

上下文:

Context
。有Application、Activity和Service三种类型。弹出Toast、启动Activity、启动Service、发送广播、操作数据库等等都需要用到Context。
特殊场景:比启动Activity,还有弹出Dialog。参考传送门

功能预览:

流量统计小工具

源码地址:

GitHub