android 测网速方案,Android_检测当前网速
思路步骤:
1、Android提供有获取当前总流量的方法
2、上一秒 减去 下一面的流量差便是网速
3、注意计算
1>计算网速的工具类:
package imcs.cb.com.viewapplication.utils;
import android.content.Context;
import android.net.TrafficStats;
import android.os.Handler;
import android.os.Message;
import java.util.Timer;
import java.util.TimerTask;
/**
* Created by Ricky on 2016/10/13.
*/
public class NetWorkSpeedUtils {
private Context context;
private Handler mHandler;
private long lastTotalRxBytes = 0;
private long lastTimeStamp = 0;
public NetWorkSpeedUtils(Context context, Handler mHandler){
this.context = context;
this.mHandler = mHandler;
}
TimerTask task = new TimerTask() {
@Override
public void run() {
showNetSpeed();
}
};
public void startShowNetSpeed(){
lastTotalRxBytes = getTotalRxBytes();
lastTimeStamp = System.currentTimeMillis();
new Timer().schedule(task, 1000, 1000); // 1s后启动任务,每2s执行一次
}
private long getTotalRxBytes() {
return TrafficStats.getUidRxBytes(context.getApplicationInfo().uid) == TrafficStats.UNSUPPORTED ? 0 :(TrafficStats.getTotalRxBytes()/1024);//转为KB
}
private void showNetSpeed() {
long nowTotalRxBytes = getTotalRxBytes();
long nowTimeStamp = System.currentTimeMillis();
long speed = ((nowTotalRxBytes - lastTotalRxBytes) * 1000 / (nowTimeStamp - lastTimeStamp));//毫秒转换
long speed2 = ((nowTotalRxBytes - lastTotalRxBytes) * 1000 % (nowTimeStamp - lastTimeStamp));//毫秒转换
lastTimeStamp = nowTimeStamp;
lastTotalRxBytes = nowTotalRxBytes;
Message msg = mHandler.obtainMessage();
msg.what = 100;
msg.obj = String.valueOf(speed) + "." + String.valueOf(speed2) + " kb/s";
mHandler.sendMessage(msg);//更新界面
}
}
2>使用:
private Handler mHnadler = new Handler(){
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case 100:
tv_speed.setText("当前网速: " + msg.obj.toString());
break;
}
super.handleMessage(msg);
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv_speed = (TextView) findViewById(R.id.tv_speed);
new NetWorkSpeedUtils(this,mHnadler).startShowNetSpeed();
}
android 测网速方案,Android_检测当前网速相关推荐
- 基于5G+MEC的电站行业专网部署方案研究
摘 要 随着5G正式商用以及新基建对5G应用的大力推进,5G正快速融入工业.能源.医疗等各行各业,成为推动实体经济数字化.网络化.智能化转型升级的关键驱动.主要研究5G专网在发电站领域的部署方案,探 ...
- 传统型编码器测速方案
传统型编码器测速方案 编码器,经常被用来测量速度或者显示电机位置,大致分为绝对值式编码器和增量式编码器,顾名思义,相对应的是产生增量或者绝对信号.增量信号不表示特定位置,只表示位置已经更改:绝对信号是 ...
- 电脑如何测网速_Macbook Pro怎么查看网速Mac怎么测网速?
苹果笔记本怎么查看网速苹果电脑怎么查网速这两个问题在网上大把的人询问,由于本身mac不提供图形化的网速查看软件,加入mac本身的软件少.所以不像Windows随便下载个软件即可查看网速.这里介绍两个软 ...
- 什么软件测试出来的网速准确,怎么测网速多少兆(测试网速快哪个软件准确)...
我国目前已有四大宽带运营商,分别是:中国电信.中国联通.中国移动和最近刚获得牌照的中国广电. 从工信部发布的消息来看,我国大部分地区已基本完成了城市铜线宽带到光纤宽带的更换,并且几大运营商也已成了的宽 ...
- python车辆测速视频车速检测
python车辆测速视频车速检测 start_time = time.time()rc, image = video.read()if type(image) == type(None):breaki ...
- Android微信智能心跳方案 Android微信智能心跳方案
前言:在13年11月中旬时,因为基础组件组人手紧张,Leo安排我和春哥去广州轮岗支援.刚到广州的时候,Ray让我和春哥对Line和WhatsApp的心跳机制进行分析.我和春哥抓包测试了差不多两个多礼拜 ...
- Android微信智能心跳方案
前言:在13年11月中旬时,因为基础组件组人手紧张,Leo安排我和春哥去广州轮岗支援.刚到广州的时候,Ray让我和春哥对Line和WhatsApp的心跳机制进行分析.我和春哥抓包测试了差不多两个多礼拜 ...
- Android 系统(70)---Android刘海屏适配方案
Android刘海屏适配方案 什么是刘海屏 随着iPhone X发布,国内一些厂商也推出了刘海屏手机,即将发布的Android p也提供了对刘海屏的支持.so,我们的app也要提前做好适配. 屏幕的正 ...
- 【转载】Android微信智能心跳方案
PS: 原文链接为: [Android微信智能心跳方案],作者为 微信团队的 phoenix 这里转载,主要是为了学习这个智能心跳方案,并实践之. 前言:在13年11月中旬时,因为基础组件组人手紧张, ...
- Android微信智能心跳方案 (转)
原创 2015-08-17 phoenix WeMobileDev 前言:在13年11月中旬时,因为基础组件组人手紧张,Leo安排我和春哥去广州轮岗支援.刚到广州的时候,Ray让我和春哥对Line和W ...
最新文章
- python教程下载视频-python怎么下载视频
- SAAS,象B2C那样的B2B分销系统
- 下方向键_Bash使用$#x27;...#x27;来捕获方向键
- 大学计算机在线阅读,大学计算机基础作业与答案.doc
- JAVA实现美团电影价格抓取(附代码)
- sid图像数据_实战材料信息学:使用skimage处理扫描电子显微镜(SEM)图像数据
- PHP课程第一次实验作业提交
- 深度学习笔记(8) 实践层面(三)
- pom.xml mvn package expected START_TAG or END_TAG not TEXT
- 快速排序算法--两个小人扔萝卜
- 计算机桌面的照度,学校建筑实验室实验桌面照度标准值?
- 常见的HTTP状态码大全
- 你只管打开这个网站,剩下的交给「卧槽」!
- 2-牛头刨床机构分析
- 代币标准--ERC721协议源码解析
- Android加固调研
- STC用PCA测量脉宽_超快激光脉冲测量和诊断使用自相关仪
- poj 1102 LC-Display(模拟)
- 走近Ts,用了爽,用后一直爽(一)
- 科大讯飞(语音合成和语音听写)
热门文章
- 【项目管理/PMP/PMBOK第六版/新考纲】纯干货!项目经理/角色/项目经理的能力/项目经理的领导力/领导和管理/职位权力/个人权力/领导生命周期理论/仆人式领导
- 系统架构师论文-论混合软件架构设计
- 6寸相纸怎么排版两寸照片
- flow_from_directory返回值
- Java Session对象的钝化和活化
- Halo CMS项目改成用Maven构建项目并打包成安装程序
- 联想家悦微型计算机的包装箱,08年联想家悦所有型号,联想家悦小机箱型号-
- [分享解决]你的支付授权失败。请核对你的信息并重试,或尝试其他支付方式。请联系你的银行了解更多信息
- 文件夹变exe怎么办
- 查看users表空间使用率高的原因