我在Google上搜索过但没有找到任何教程来测量网络速度的android wifi/2G/3G
的速度。Android如何测量上传/下载速度wifi/2G/3G ...?
通过搜索很多最后得到的下载速度为THIS任何一个有上传速度的想法。
任何人指导我有没有API
或存在这个教程?任何帮助,将不胜感激。
在此先感谢。
我在Google上搜索过但没有找到任何教程来测量网络速度的android wifi/2G/3G
的速度。Android如何测量上传/下载速度wifi/2G/3G ...?
通过搜索很多最后得到的下载速度为THIS任何一个有上传速度的想法。
任何人指导我有没有API
或存在这个教程?任何帮助,将不胜感激。
在此先感谢。
你必须实现你自己的speedtest测量例程。你可以在这里找到Ookla速度测试的算法描述: http://wiki.ookla.com/lq_test_flow
基本上你要做的是执行下载和上传例程,并测量下载和上传的时间。您可以使用System.nanoTime()获得更准确的时间戳。
一个无需特殊工具非常简单的一般方法是:
上传/下载已知大小的文件到一些服务器(可以使用的Dropbox等,如果你没有自己的服务器做)并测量使用CountDownTimer时间。
然后,您可以使用收集的数据轻松计算速度。
您可以阅读/proc/net/dev
了解网络流量统计信息。在我的手机,它看起来像:
Inter-| Receive | Transmit
face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed
lo: 562 8 0 0 0 0 0 0 562 8 0 0 0 0 0 0
dummy0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
rmnet0: 38329 220 0 0 0 0 0 0 33316 310 0 0 0 0 0
......
我使用的是2G网络,可以从rmnet0
界面中可以看出。 您可以解析文件内容并获取Net速度信息。
我希望它有帮助。