下面采用Kotlin实现方式,java 实现方法对照着修改就可以使用,废话不多说直接上代码:
/**
* 获取本机IP地址
*/
fun getIpAddressString(): String {
try {
var enNetI: Enumeration<NetworkInterface> = NetworkInterface.getNetworkInterfaces()
while (enNetI.hasMoreElements()) {
var netI = enNetI.nextElement()
var enumIpAddr: Enumeration<InetAddress> = netI.inetAddresses
while (enumIpAddr.hasMoreElements()) {
var inetAddress = enumIpAddr.nextElement();
if (inetAddress is Inet4Address && !inetAddress.isLoopbackAddress) {
return inetAddress.hostAddress
}
}
}
} catch (e: Exception) {
e.toString()
}
return "0.0.0.0";
}
/**
* 获得SD卡总大小
*
* @return
*/
public fun getSDTotalSize(context: Context): String? {
val path: File = Environment.getExternalStorageDirectory()
val stat = StatFs(path.getPath())
val blockSize: Long = stat.blockSizeLong
val totalBlocks: Long = stat.blockCountLong
return formatFileSize(context, blockSize * totalBlocks)
}
/**
* 获得sd卡剩余容量,即可用大小
*
* @return
*/
public fun getSDAvailableSize(context: Context): String? {
val path: File = Environment.getExternalStorageDirectory()
val stat = StatFs(path.getPath())
val blockSize: Long = stat.blockSizeLong
val availableBlocks: Long = stat.availableBlocksLong
return formatFileSize(context, blockSize * availableBlocks)
}
/**
* 获取系统内存大小
* @return
*/
public fun getSysteTotalMemorySize(context: Context): String? { //获得ActivityManager服务的对象
val mActivityManager: ActivityManager? =
(context as Activity).getSystemService(Context.ACTIVITY_SERVICE) as ActivityManager?
//获得MemoryInfo对象
val memoryInfo: ActivityManager.MemoryInfo = ActivityManager.MemoryInfo()
//获得系统可用内存,保存在MemoryInfo对象上
mActivityManager?.getMemoryInfo(memoryInfo)
val memSize: Long = memoryInfo.totalMem
//字符类型转换
return formatFileSize(context,memSize)
}
/**
* 获取系统可用的内存大小
* @return
*/
public fun getSystemAvaialbeMemorySize(context: Context): String? { //获得ActivityManager服务的对象
val mActivityManager: ActivityManager? =
(context as Activity).getSystemService(Context.ACTIVITY_SERVICE) as ActivityManager?
//获得MemoryInfo对象
val memoryInfo: ActivityManager.MemoryInfo = ActivityManager.MemoryInfo()
//获得系统可用内存,保存在MemoryInfo对象上
mActivityManager?.getMemoryInfo(memoryInfo)
val memSize: Long = memoryInfo.availMem
//字符类型转换
return formatFileSize(context,memSize)
}

本文提供了Kotlin语言中用于获取本机IP地址、SD卡大小、系统内存等实用功能的代码实现,帮助开发者快速掌握并应用到实际项目中。


被折叠的 条评论
为什么被折叠?



