您的位置:首页 > 移动开发 > Android开发

android下获取手机空间大小 代码

2014-12-19 20:52 323 查看
获得手机内容空间 大小 代码
1 public class MainActivity extends Activity {
2
3
4     private TextView tv_01;
5     @Override
6     protected void onCreate(Bundle savedInstanceState) {
7         super.onCreate(savedInstanceState);
8         setContentView(R.layout.activity_main);
9
10         tv_01 = (TextView) findViewById(R.id.tv_01);
11
12         // 得到 SD卡的信息
13         // Environment.getExternalStorageDirectory() 返回路径 /mnt/sdcard
14         File sdcardFileDir = Environment.getExternalStorageDirectory();
15         String SDmemory = getMemory(sdcardFileDir);
16
17         // 得到 手机内部存储空间
18         // Environment.getDataDirectory()   返回路径   /data
19         File dataFileDir = Environment.getDataDirectory();
20         String dataMemory = getMemory(dataFileDir);
21
22         tv_01.setText("SD卡 "+SDmemory+"\n手机内部 "+dataMemory);
23     }
24
25
26     public String getMemory(File path){
27
28         // path.getPath() 返回 该 文件的路径
29         // 获得  该路径下 磁盘状态
30         // statFs  检索文件系统的整个信息空间
31         StatFs stat = new StatFs(path.getPath());
32         // 获得 每个扇区的带大小
33
34         // 在较高版本的 系统中 提示 getBlockSize 过时,需要使用getBlockSizeLong()下面的方法类似
35         // 但是如果在低版本的系统中 使用 getBlockSizeLong() 可能会出现编译错误
36         long blockSize = stat.getBlockSize();
37         // 获得总共有多少个扇区
38         long totalBlocks = stat.getBlockCount();
39         // 获得 可用扇区
40         long avaiableBlocks = stat.getAvailableBlocks();
41
42         //总空间
43
44         String totalMemory = Formatter.formatFileSize(this, blockSize * totalBlocks);
45
46         // 可用空间
47
48         String avaiableMemory = Formatter.formatFileSize(this, totalBlocks*avaiableBlocks);
49
50         return "总空间:"+totalMemory+"\n"+"可用空间:"+avaiableMemory;
51     }
52
53 }


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息