下面采用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) }