android网速代码,Android获取网速和下载速度

稍微整理了下,直接上代码。

private long lastTotalRxBytes = 0; private long lastTimeStamp = 0; private int UPDATE = 100; private Handler mHandler = new Handler() {        @Override        public void handleMessage(Message msg) {            // TODO 接收消息并且去更新UI线程上的控件内容            if (msg.what == UPDATE) {                //tv.setText(String.valueOf(msg.obj));             Log.i(TAG, "网速为:"+msg.obj);            }            super.handleMessage(msg);        }    }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_show_net_speed); lastTotalRxBytes = getTotalRxBytes(); lastTimeStamp = System.currentTimeMillis(); Log.i(TAG, "lastTotalRxBytes:"+lastTotalRxBytes); Log.i(TAG, "lastTimeStamp:"+lastTimeStamp); TimerTask task = new TimerTask() { @Override public void run() { showNetSpeed(); } }; new Timer().schedule(task, 1000, 2000); // 1s后启动任务,每2s执行一次 } private void showNetSpeed() { long nowTotalRxBytes = getTotalRxBytes(); long nowTimeStamp = System.currentTimeMillis(); long speed = ((nowTotalRxBytes - lastTotalRxBytes) * 1000 / (nowTimeStamp - lastTimeStamp));//毫秒转换 lastTimeStamp = nowTimeStamp; lastTotalRxBytes = nowTotalRxBytes; Message msg = mHandler.obtainMessage(); msg.what = UPDATE; if(speed == 0){ msg.obj = String.valueOf(speed) + ".00kb/s"; }else { msg.obj = String.valueOf(speed) + "kb/s"; } mHandler.sendMessage(msg);//更新界面 } private long getTotalRxBytes() { // return TrafficStats.getUidRxBytes(getApplicationInfo().uid) == TrafficStats.UNSUPPORTED ? 0 :(TrafficStats.getTotalRxBytes()/1024);//转为KB return TrafficStats.getTotalRxBytes()/1024;//转为KB }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值