android学习笔记之——获取SD卡及手机ROM容量

来源:互联网 发布:职业摔跤知乎 编辑:程序博客网 时间:2024/05/21 11:11

转载自


[java] view plaincopy在CODE上查看代码片派生到我的代码片
  1. package com.urovo.sdcardspace;  
  2.   
  3. import java.io.File;  
  4.   
  5. import android.os.Bundle;  
  6. import android.os.Environment;  
  7. import android.os.StatFs;  
  8. import android.app.Activity;  
  9. import android.text.format.Formatter;  
  10. import android.view.Menu;  
  11. import android.widget.TextView;  
  12.   
  13. public class MainActivity extends Activity {  
  14.   
  15.     @Override  
  16.     protected void onCreate(Bundle savedInstanceState) {  
  17.         super.onCreate(savedInstanceState);  
  18.         setContentView(R.layout.activity_main);  
  19.         TextView tv = (TextView) findViewById(R.id.tv);  
  20.           
  21.         File path = Environment.getExternalStorageDirectory();//得到SD卡的路径  
  22.         StatFs stat = new StatFs(path.getPath());//创建StatFs对象,用来获取文件系统的状态  
  23.         long blockCount = stat.getBlockCount();  
  24.         long blockSize = stat.getBlockSize();  
  25.         long availableBlocks = stat.getAvailableBlocks();  
  26.           
  27.         String totalSize = Formatter.formatFileSize(getApplicationContext(), blockCount*blockSize);//格式化获得SD卡总容量  
  28.         String availableSize = Formatter.formatFileSize(getApplicationContext(), blockCount*availableBlocks);//获得SD卡可用容量  
  29.           
  30.         tv.setText("SD卡总容量:"+totalSize+"\nSD卡可用容量:"+availableSize+"\n"+getRomSpace());  
  31.     }  
  32.   
  33.     private String getRomSpace() {  
  34.         File path = Environment.getDataDirectory();  
  35.         StatFs stat = new StatFs(path.getPath());  
  36.         long blockCount = stat.getBlockCount();  
  37.         long blockSize = stat.getBlockSize();  
  38.         long availableBlocks = stat.getAvailableBlocks();  
  39.           
  40.         String totalSize = Formatter.formatFileSize(getApplicationContext(), blockCount*blockSize);  
  41.         String availableSize = Formatter.formatFileSize(getApplicationContext(), blockCount*availableBlocks);  
  42.           
  43.         return "手机Rom总容量:"+totalSize+"\n手机Rom可用容量:"+availableSize;  
  44.     }  
  45.   
  46. }  

具体的内容,可以通过分析android settings部分的源码,来加深了解。
0 0
原创粉丝点击