文章出处:http://gundumw100.iteye.com/blog/1294167
对于Android流量统计来说在2.2版中新加入了TrafficStats类可以轻松获取,其实本身TrafficStats类也是读取Linux提供的文件对象系统类型的文本进行解析。android.net.TrafficStats类中,提供了多种静态方法,可以直接调用获取,返回类型均为 long型,如果返回等于-1代表 UNSUPPORTED 当前设备不支持统计。
static long getMobileRxBytes() //获取通过Mobile连接收到的字节总数,不包含WiFi
static long getMobileRxPackets() //获取Mobile连接收到的数据包总数
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.getTotalRxBytes(),
总发送流量TrafficStats.getTotalTxBytes());
不包含WIFI的手机GPRS接收量TrafficStats.getMobileRxBytes());
不包含Wifi的手机GPRS发送量TrafficStats.getMobileTxBytes());
某一个进程的总接收量TrafficStats.getUidRxBytes(Uid));
某一个进程的总发送量TrafficStats.getUidTxBytes(Uid));
这些都是从第一次启动程序到最后一次启动的统计量。并不是这篇文章里所说的“从本次开机到本次关机的统计量”!
用法举例,注意这里得到的单位都是"KB"
public long getTotalRxBytes(){ //获取总的接受字节数,包含Mobile和WiFi等
return TrafficStats.getTotalRxBytes()==TrafficStats.UNSUPPORTED?0:(TrafficStats.getTotalRxBytes()/1024);
}
public long getTotalTxBytes(){ //总的发送字节数,包含Mobile和WiFi等
return TrafficStats.getTotalTxBytes()==TrafficStats.UNSUPPORTED?0:(TrafficStats.getTotalTxBytes()/1024);
}
public long getMobileRxBytes(){ //获取通过Mobile连接收到的字节总数,不包含WiFi
return TrafficStats.getMobileRxBytes()==TrafficStats.UNSUPPORTED?0:(TrafficStats.getMobileRxBytes()/1024);
}
分享到:
相关推荐
"Android App流量统计源码"提供了一种方法来实现这一目标。这个源码项目专注于统计应用程序在WiFi和移动网络环境下消耗的数据流量,并通过柱状图和折线图可视化这些数据,使得开发者和用户能够清晰地看到流量的使用...
在Android系统中,`TrafficStats` 是一个非常重要的类,它位于 `android.net` 包内,用于收集和提供网络接口的流量统计信息。这个类提供了监控和度量应用程序及整个系统的网络数据传输的能力,包括上传和下载的数据...
综上所述,开发一个Android流量统计工具需要对网络接口、数据持久化以及UI设计有深入理解。通过监听网络状态、统计流量数据并持久化,我们可以为用户提供一个实用的流量监控工具。对于提供的压缩包文件...
总的来说,Android流量统计涉及网络连接的管理和流量数据的统计,开发者可以通过合理的API调用来实现这一功能。SmallQ源码作为一个参考,可以帮助我们更好地理解和实践这一过程,从而在自己的应用中集成这一实用功能...
本文将深入探讨Android流量统计的实现方法,包括API的使用、自定义解决方案以及如何结合博客源码(DataStatiscTest)进行实践。 一、Android系统自带的流量统计API 1. ConnectivityManager:Android提供的网络连接...
* 返回所有有互联网权限的应用的流量信息 */ public List<TrifficInfo> getTrifficInfos(){ //获取到配置权限信息的应用程序 List<PackageInfo> packageInfos=pm.getInstalledPackages(PackageManager.GET_...
在Android应用开发中,流量统计是一项非常重要的任务,它能够帮助开发者了解应用在网络上的行为,监控数据使用情况,优化用户体验,防止不必要的流量消耗,甚至在必要时为用户提供按时间范围查询流量消耗的功能。...
本例子是一个安卓流量统计的小例子,可以统计每个应用的网络流量,区分移动网络与WIFI 技术点: 使用TrafficStats记录流量变化 使用Service,BroadcastReceiver监控网络状态变化 使用sqlite记录各个应用已用流量数据...
在Android平台上,对指定应用进行流量统计是一项重要的功能,它可以帮助开发者或用户了解各个应用程序的网络使用情况,以便优化网络资源的分配,节省数据费用,或者监控应用的行为。本教程将详细阐述如何在Android...
统计每个应用的网络流量,区分移动网络与WIFI 技术点: 使用TrafficStats记录流量变化 使用Service,BroadcastReceiver监控网络状态变化 使用sqlite记录各个应用已用流量数据
本例子是一个安卓流量统计的小例子,可以统计每个应用的网络流量,区分移动网络与WIFI 技术点: 使用TrafficStats记录流量变化 使用Service,BroadcastReceiver监控网络状态变化 使用sqlite记录各个应用已用流量数据...
2. **TrafficStats**: 这是另一个重要的类,提供了网络流量统计的接口。例如,`getMobileRxBytes()`和`getMobileTxBytes()`分别可以获取移动数据接收和发送的字节数,`getTotalRxBytes()`和`getTotalTxBytes()`则...
总的来说,这个"Android手机流量控制源码"项目为开发者提供了一套工具,可以用来监控和控制Android应用的网络流量,包括获取流量统计、设置流量限制和提醒等功能。通过深入研究这些源码,开发者不仅可以学习到如何在...
在Android平台上,开发一款应用以实现流量统计...综上所述,这个Android流量统计项目涵盖了从底层网络数据获取到上层UI展示的多个技术层面,对Android开发者来说,是一个很好的学习和实践平台,有助于提升综合技能。
1. **流量统计API**:在Android系统中,开发者可以使用`ConnectivityManager`和`TrafficStats`类来获取网络流量信息。`ConnectivityManager`负责管理网络连接,而`TrafficStats`则提供了统计网络流量的方法,如`...
这个类提供了一系列静态方法,可以帮助开发者获取设备上的各种流量统计数据。需要注意的是,并非所有平台都支持这些统计功能,在不支持的情况下会返回 `UNSUPPORTED(-1)`。 #### 相关 API 方法详解 下面是一些关键...
综上所述,“android流量监控项目”涵盖了Android的网络API使用、数据持久化、UI设计、权限管理、服务与广播接收器等多个方面。通过学习和实践此类项目,开发者不仅可以提升自身技能,还能为用户提供实用的应用,...
这些信息可以通过Android的TrafficStats类获取,包括移动数据(如3G、4G)和Wi-Fi的数据用量。 3. **时间区间处理**:为了允许用户指定时间范围,源码可能会包含一个时间选择器或者使用当前系统时间作为默认值。...
TrafficStats是Android提供的一个类,用于收集和报告网络接口的流量统计信息。它可以获取到移动数据和Wi-Fi的数据上传、下载总量,这对于实现流量监控至关重要。 4. **ContentProvider**: 为了持久化存储流量...