kotlin写网络工具类
时间: 2024-01-31 11:07:34 浏览: 155
kotlin 加密算法工具类
5星 · 资源好评率100%
在otlin中编写网络工具类可以使用`companion object`来实现类似于Java的静态方法。可以直接使用`object`关键字来定义一个类使其变成一个单例类。以下是一个示例代码:
```kotlin
import android.content.Context
import android.net.ConnectivityManager
object NetworkUtils {
// 判断网络状态,有网络返回true
fun isConnected(context: Context?): Boolean {
return isNetworkConnected(context) || isWifiConnected(context)
}
// 判断手机是否有网络连接
fun isNetworkConnected(context: Context?): Boolean {
return context?.let {
val mConnectivityManager =
context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
mConnectivityManager.activeNetworkInfo?.isAvailable
} ?: false
}
// 判断wifi网络是否可用
fun isWifiConnected(context: Context?): Boolean {
return context?.let {
val mConnectivityManager =
context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
mConnectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI)?.isAvailable
} ?: false
}
}
```
这个工具类中使用了`.let`函数和`?.`操作符来简化程序的写法。`.let`函数用于在非空的上下文中执行某个操作,而`?.`操作符用于安全地访问可空对象的属性或方法。
阅读全文