Android流量监控模块开发源代码下载
2015-07-21 13:03:42 By: shinyuu
本Demo是一个基于安卓的带悬浮窗和图表统计的流量助手项目源码、程序主要功能
1、记录本月、当天的手机数据流量和WIFI流量
2、记录每个程序的当天使用情况
3、流量悬浮窗、显示每秒的流量情况(默认的是每5秒更新一次、如果觉得更新太慢改成1秒就好了)
原理是通过API里的TrafficStats类获得流量信息、由于流量信息在关机后会被清零、所以用SQLite把数据保存了下来、主要就是用了大量的数据库操作和很多逻辑上的东西(比如建两个数据表、一个临时汇总、一个记录真实数据)、通过AlarmService实现定时更新流量、通过前台Service实现悬浮窗、免得悬浮窗被回收
部分代码
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); initView(); /** * 设置当前网络类型 */ setCurNetType(); /** * 更新流量界面 */ new InitTotalInterfaceTask().execute(); /** * 定时更新流量 */ TrafficUtils.startRepeatingService(this, TrafficUtils.INTERVAL, TrafficFetchService.class, ""); /** * 监听网络变化 和 流量更新 */ IntentFilter mFilter = new IntentFilter(); mFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION); mFilter.addAction(TrafficUtils.ACTION_UPDATE_TRAFFIC); registerReceiver(mReceiver, mFilter); }
InIt代码
private void initView() { cur_type = AndroidUtils.findViewById(this, R.id.cur_type); cur_interval = AndroidUtils.findViewById(this, R.id.cur_interval); total_mobile = AndroidUtils.findViewById(this, R.id.total_mobile); day_mobile = AndroidUtils.findViewById(this, R.id.day_mobile); total_wifi = AndroidUtils.findViewById(this, R.id.total_wifi); day_wifi = AndroidUtils.findViewById(this, R.id.day_wifi); cur_interval.setText(String.format(getString(R.string.cur_interval), TrafficUtils.INTERVAL)); }
另外、由于每次手机重新启动、流量会清零、这样会导致逻辑变化、所以请务必开启本程序的开机启动权限、不然在重新启动手机后将会工作不正常、系统的这个API好像会把内部流量也算进去、所以跟实际使用的流量可能有误差
程序没什么难点、主要是数据库操作、Service、广播、基础控件的简单应用、数据库是用的xUtils开源框架、是新手学习的绝佳实例!
若资源对你有帮助、扫描下方的二维码、关注DD博客微信公众号(ddblogs)吧
最后给贴上Demo的源代码、希望对大家有用、有兴趣的哥们可以下载看看
源代码下载链接: http://dwtedx.com/download.html?bdkey=s/1i33t9x7 密码: f3iu
若资源对你有帮助、浏览后有很大收获、不妨小额打赏我一下、你的鼓励是维持我不断写博客最大动力
想获取DD博客最新代码、你可以扫描下方的二维码、关注DD博客微信公众号(ddblogs)
或者你也可以关注我的新浪微博、了解DD博客的最新动态:DD博客官方微博(dwtedx的微博)
如对资源有任何疑问或觉得仍然有很大的改善空间、可以对该博文进行评论、希望不吝赐教
为保证及时回复、可以使用博客留言板给我留言: DD博客留言板(dwtedx的留言板)
感谢你的访问、祝你生活愉快、工作顺心、欢迎常来逛逛