if (msg.what == 0) {
//图标显示
WifiStateUtils.checkWifiStateImg(MainActivity.this,ivWifiState);
//文字显示
tvWifiTx.setText(WifiStateUtils.checkWifiStateTxt(MainActivity.this));
sendEmptyMessageDelayed(0, 1000);
}
}
};
onCreate方法中调用
//每过一秒钟监测一次wifi的网络状态
mHandlerWifi.sendEmptyMessageDelayed(0, 1000);
package com.ypl.studytv.util;
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.widget.ImageView;
import com.ypl.studytv.R;
/**
-
WIFI状态监测显示工具类
-
author llw
*/
public class WifiStateUtils {
/**
-
检查wifi是否处开连接状态
-
@return
*/
public static boolean isWifiConnect(Context context) {
ConnectivityManager connManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo mWifiInfo = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
return mWifiInfo.isConnected();
}
/**
- 检查wifi强弱并更改图标显示 按wifi的监测来说,总共五级,这里只做四级,
*/
public static void checkWifiStateImg(Context context,ImageView imageView) {
if (isWifiConnect(context)) {
WifiManager mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
WifiInfo mWifiInfo = mWifiManager.getConnectionInfo();
int wifi = mWifiInfo.getRssi();//获取wifi信号强度
if (wifi > -50 && wifi < 0) {//最强 满格信号 4格
imageView.setImageResource(R.mipmap.icon_wifi_4);
} else if (wifi > -70 && wifi < -50) {//较强 3格
imageView.setImageResource(R.mipmap.icon_wifi_3);
} else if (wifi > -80 && wifi < -70) {//较弱 2格
imageView.setImageResource(R.mipmap.icon_wifi_2);
} else if (wifi > -100 && wifi < -80) {//微弱 1格
imageView.setImageResource(R.mipmap.icon_wifi_1);
}
} else {
//无连接
imageView.setImageResource(R.mipmap.icon_wifi_none);// 在这里 0格 表示没有网络
}
}
/**
- 检查wifi强弱 文字
*/
public static String checkWifiStateTxt(Context context){
String data = null;
if (isWifiConnect(context)) {
WifiManager mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
WifiInfo mWifiInfo = mWifiManager.getConnectionInfo();
int wifi = mWifiInfo.getRssi();//获取wifi信号强度
if (wifi > -50 && wifi < 0) {//最强 满格信号 4格
data = “最强”;
} else if (wifi > -70 && wifi < -50) {//较强 3格
data = “较强”;
} else if (wifi > -80 && wifi < -70) {//较弱 2格
data = “较弱”;
} else if (wifi > -100 && wifi < -80) {//微弱 1格
data = “微弱”;
}
} else {
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)
尾声
在我的博客上很多朋友都在给我留言,需要一些系统的面试高频题目。之前说过我的复习范围无非是个人技术博客还有整理的笔记,考虑到笔记是手写版不利于保存,所以打算重新整理并放到网上,时间原因这里先列出面试问题,题解详见:
展示学习笔记
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
]
展示学习笔记
[外链图片转存中…(img-Of1w4l1W-1713730160426)]
[外链图片转存中…(img-Gl2heC4T-1713730160427)]
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!