java实时获取android网速_Android实现网速实时监测工具类
### 前言
今天在做app功能的时候,突然涉及到要监测网络的实时速度,于是一番折腾,整合了下相关知识,方便以后使用。下面让我们来学习下我封装的一个网速实时监测类——NetSpeed吧
今天涉及内容:
1. `NetSpeed`主要方法介绍
2. `NetSpeed`在`MainActivity`中的使用
3. 效果图和项目结构图
先来波效果图
![](/contentImages/image/20200313/SSKSjtRP7Ao5QJMrcnF.png)
![](/contentImages/image/20200313/WmFwKHwORiwYypuFszt.png)
#### 一. NetSpeed主要方法介绍
`NetSpeed`作为一个网速监听类,具备以下几个主要方法:
```
/**
* 设置延时启动时间
*
* @param delayTime 单位毫秒,默认500毫秒
* @return
*/
public NetSpeed setDelayTime(long delayTime)
/***
* 设置循环时间间隔
*
* @param recycleTime 单位毫秒,默认1500毫秒
* @return
*/
public NetSpeed setRecycleTime(long recycleTime)
/***
* 开始监测网速
*
* @param view 显示网速的控件,TextView子类
*/
public void start(TextView view)
/**取消网速监测**/
public void cancel()
/***
* 获取某一时刻网速
*
* 需要结合定时器更新
* @return
*/
public String getNetSpeed()
/**将byte自动转换为其他单位**/
public String formatNetSpeed(long bytes)
```
#### 二. NetSpeed在MainActivity中的使用
先进行声明和初始化
```
//声明
private NetSpeed mNetSpeed;
//初始化
mNetSpeed=new NetSpeed(MainActivity.this);
```
然后直接调用实现实时监测网速:
```
//网速监测(已内置定时器,结束监测时需要调用取消方法)
mNetSpeed.setDelayTime(500)//设置延迟执行时间,单位毫秒,默认500毫秒
.setRecycleTime(1500)//设置监测时间间隔,单位毫秒,默认1500毫秒
.start(mTextView);//开始监测网速,传入要显示网速的控件
```
在界面退出或销毁时注销网速监听:
```
//取消网络监测
if(mNetSpeed!=null){
mNetSpeed.cancel();
}
```
下面贴出`NetSpeed`在`MainActivity`中使用代码:
```
public class MainActivity extends AppCompatActivity{
private TextView mTextView;
private Button mButton;
//声明
private NetSpeed mNetSpeed;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mTextView=findViewById(R.id.tv);
mButton=findViewById(R.id.btn);
//初始化
mNetSpeed=new NetSpeed(MainActivity.this);
mButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
LogUtil.i("=====ooooooo==1===");
//网速监测(已内置定时器,结束监测时需要调用取消方法)
mNetSpeed.setDelayTime(500)//设置延迟执行时间,单位毫秒,默认500毫秒
.setRecycleTime(1500)//设置监测时间间隔,单位毫秒,默认1500毫秒
.start(mTextView);//开始监测网速,传入要显示网速的控件
}
});
}
@Override
protected void onDestroy() {
super.onDestroy();
//取消网络监测
if(mNetSpeed!=null){
mNetSpeed.cancel();
}
}
}
```
#### 三.效果图和项目结构图
效果图
![](/contentImages/image/20200313/SSKSjtRP7Ao5QJMrcnF.png)
![](/contentImages/image/20200313/WmFwKHwORiwYypuFszt.png)
项目结构图
![](/contentImages/image/20200313/UqTZeQlcSSU0YsVKUMm.png)
今天内容就到这里了,谢谢大家。
java实时获取android网速_Android实现网速实时监测工具类相关推荐
- java rootpath_Java 获取webapp,Root,classpath,项目等路径工具类
public class UtilPath { public static void main(String[] args) { String systemName = System.getPrope ...
- Android旋转视频工具类,Android开发实现的IntentUtil跳转多功能工具类【包含视频、音频、图片、摄像头等操作功能】...
本文实例讲述了Android开发实现的IntentUtil跳转多功能工具类.分享给大家供大家参考,具体如下: 说明:此工具类是本人开发中总结下来的,还有其它的跳转亲给我留言,希望大家一起把这个工具类打 ...
- 【Android 插件化】Hook 插件化框架 ( 反射工具类 | 反射常用操作整理 )
Android 插件化系列文章目录 [Android 插件化]插件化简介 ( 组件化与插件化 ) [Android 插件化]插件化原理 ( JVM 内存数据 | 类加载流程 ) [Android 插件 ...
- java 后端 使用 Graphics2D 制作海报,画echarts图,带工具类,各种细节:如头像切割成圆形,文字换行算法(完美实验success),解决画上文字、图片后不清晰问题
文章目录 先看成品 前言 一.项目目录结构 一.海报制作PosterUtil.java工具类 1. 描述 2. 代码 二.测试生成海报 1. 描述 2. 直接上代码 四.其他测试 1. Test1_C ...
- java实时获取android网速_Android中获取实时网速(2)
一.实现思路: 1.Android提供有获取当前总流量的方法 2.上一秒 减去 下一面的流量差便是网速 3.注意计算 二.计算网速的工具类: package imcs.cb.com.viewappli ...
- 实时获取Android手机CPU频率
Android手机的CPU的频率信息被保存在 /sys/devices/system/cpu/cpu0/cpufreq 目录下,通过shell命令查看该目录下的文件,如下图 其中cpuinfo_cur ...
- python实时获取Android FPS
python---实现实时获取Android FPS 1:如何计算FPS信息? 2:如何获取FPS信息? 3:python实现 fps实时获取和计算 使用adb shell dumpsys gfxin ...
- 在Java中获取Android端登陆的设备信息
最近在项目中有个需求,需要获取Android设备的信息,例如:华为,Android10. 可以通过request.getHeader("User-Agent");中来解析出.但是实 ...
- android 蓝牙低功耗(BLE)非常棒的工具类,获取小米手环的步数
现在物联网搞的轰轰烈烈的,小米的手环等一系列产品,下面我们就来研究一下小米手环的记步功能 工具类 package com.zsl.bluetoothdemo.ble;import android.bl ...
最新文章
- HDU - 1051 Wooden Sticks
- picf509c语言程序,樊媛媛c语言程序设计09编译预处理.pptx
- 漫谈移动开发中的组件化
- Dapr微服务应用开发系列4:状态管理构件块
- 【前端就业课 第一阶段】HTML5 零基础到实战(五)基础元素
- Git 教程学习--第三篇
- 元素之和最接近 0 的区间(部分和)
- 广义典型相关分析_数学建模/机器学习:广义加性模型(GAM)及其Python实现
- wxpython播放视频_opencv视屏流嵌入wxpython框架
- 从最理想的情况论证自己的观点,必然错误,为什么明知故犯?
- 制作U盘macos系统
- [网络安全自学篇] 二十五.Web安全学习路线及木马、病毒和防御初探
- K歌、短视频技术最佳实践——“唱吧”音视频技术探索
- linux区分三种用户角色,Linux用户角色划分
- 设计模式——简单工厂模式
- 字节跳动21届秋招工资单曝光
- html图片旋转3种方式—— CSS3 transform
- Sicily 1001. Alphacode
- php下划虚线,怎么定义每一行的文字下面都有下划线虚线?_html/css_WEB-ITnose
- 香帅的北大金融学课笔记20 -- 金融术与道