本文實例講述了Android獲取SD卡及手機ROM容量的方法。分享給大家供大家參考,具體如下:
這里通過一個簡單的小例子,來獲取SD卡的容量和手機ROM的容量,代碼如下:
package com.urovo.sdcardspace;import java.io.File;import android.os.Bundle;import android.os.Environment;import android.os.StatFs;import android.app.Activity;import android.text.format.Formatter;import android.view.Menu;import android.widget.TextView;public class MainActivity extends Activity {  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    TextView tv = (TextView) findViewById(R.id.tv);    File path = Environment.getExternalStorageDirectory();//得到SD卡的路徑    StatFs stat = new StatFs(path.getPath());//創建StatFs對象,用來獲取文件系統的狀態    long blockCount = stat.getBlockCount();    long blockSize = stat.getBlockSize();    long availableBlocks = stat.getAvailableBlocks();    String totalSize = Formatter.formatFileSize(getApplicationContext(), blockCount*blockSize);//格式化獲得SD卡總容量    String availableSize = Formatter.formatFileSize(getApplicationContext(), blockCount*availableBlocks);//獲得SD卡可用容量    tv.setText("SD卡總容量:"+totalSize+"/nSD卡可用容量:"+availableSize+"/n"+getRomSpace());  }  private String getRomSpace() {    File path = Environment.getDataDirectory();    StatFs stat = new StatFs(path.getPath());    long blockCount = stat.getBlockCount();    long blockSize = stat.getBlockSize();    long availableBlocks = stat.getAvailableBlocks();    String totalSize = Formatter.formatFileSize(getApplicationContext(), blockCount*blockSize);    String availableSize = Formatter.formatFileSize(getApplicationContext(), blockCount*availableBlocks);    return "手機Rom總容量:"+totalSize+"/n手機Rom可用容量:"+availableSize;  }}具體的內容,可以通過分析android settings部分的源碼,來加深了解。
更多關于Android相關內容感興趣的讀者可查看本站專題:《Android編程開發之SD卡操作方法匯總》、《Android開發入門與進階教程》、《Android資源操作技巧匯總》、《Android視圖View技巧總結》及《Android控件用法總結》
希望本文所述對大家Android程序設計有所幫助。
新聞熱點
疑難解答