我在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速度信息。
我希望它有幫助。