欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android实现获取SD卡总容量,可用大小,机身内存总容量及可用大小的方法

程序员文章站 2023-11-20 16:32:40
本文实例讲述了android实现获取sd卡总容量,可用大小,机身内存总容量及可用大小的方法。分享给大家供大家参考,具体如下: 可能有的同学不知道系统已经提供了获取获取sd...

本文实例讲述了android实现获取sd卡总容量,可用大小,机身内存总容量及可用大小的方法。分享给大家供大家参考,具体如下:

可能有的同学不知道系统已经提供了获取获取sd卡总容量,可用大小,机身内存总容量及可用大小的系统方法,用系统源代码提供的方法可以很简单,方便的获取其大小。这里我把系统源代码中的一个方法贴出来,供大家参考一下:

图片:

Android实现获取SD卡总容量,可用大小,机身内存总容量及可用大小的方法

图片上红色方框中的代码就是源代码中获取sd卡大小的程序方法。
在这里我整理了一下,我把我整理封装好的方法给大家贴出来:

/** 
* 获得sd卡总大小 
* 
* @return 
*/ 
private string getsdtotalsize() { 
  file path = environment.getexternalstoragedirectory(); 
  statfs stat = new statfs(path.getpath()); 
  long blocksize = stat.getblocksize(); 
  long totalblocks = stat.getblockcount(); 
  return formatter.formatfilesize(mainactivity.this, blocksize * totalblocks); 
} 
/** 
* 获得sd卡剩余容量,即可用大小 
* 
* @return 
*/ 
private string getsdavailablesize() { 
  file path = environment.getexternalstoragedirectory(); 
  statfs stat = new statfs(path.getpath()); 
  long blocksize = stat.getblocksize(); 
  long availableblocks = stat.getavailableblocks(); 
  return formatter.formatfilesize(mainactivity.this, blocksize * availableblocks); 
} 
/** 
* 获得机身内存总大小 
* 
* @return 
*/ 
private string getromtotalsize() { 
  file path = environment.getdatadirectory(); 
  statfs stat = new statfs(path.getpath()); 
  long blocksize = stat.getblocksize(); 
  long totalblocks = stat.getblockcount(); 
  return formatter.formatfilesize(mainactivity.this, blocksize * totalblocks); 
} 
/** 
* 获得机身可用内存 
* 
* @return 
*/ 
private string getromavailablesize() { 
  file path = environment.getdatadirectory(); 
  statfs stat = new statfs(path.getpath()); 
  long blocksize = stat.getblocksize(); 
  long availableblocks = stat.getavailableblocks(); 
  return formatter.formatfilesize(mainactivity.this, blocksize * availableblocks); 
}

希望本文所述对大家android程序设计有所帮助。