Androidは携帯電話のメモリ容量情報を取得

2377 ワード

携帯メモリ情報の取得
私たちの今のAndroid携帯電話では、この情報を格納する容量の機能を使っているので、ソースコードを見て、勉強してから、間違いを見つけたらよく指摘してください.2つのクラスを使用しました
1.Environment類:この単語は中国語を翻訳する意味は:外部、環境、その名の通りです.このクラスは、外部に格納されているステータスなどの情報であり、外部に格納されているステータスの定数値や、格納ディレクトリを取得する方法を提供します.
状態定数値:MEDIA_BAD_REMOVAL
MEDIA_CHECKING
MEDIA_MUNTED
MEDIA_MOUNTED_READ_ONLY
MEDIA_NOFSなど..
方法:
getDataDirectory()/携帯電話のメモリディレクトリであるdata/dataを取得
getDownloadCacheDirectory()/ダウンロードキャッシュディレクトリの取得
getExternalStorageDirectory()/外部に格納されているディレクトリの取得
getExternalStorageState()/現在の外部ストレージのステータスを取得
ここではもちろんEnvironmnetが使われています.getDataDirectory()の方法で携帯電話のメモリディレクトリを取得
StatFsクラスファイルシステム情報と状況を保存したクラス
ファイルシステムの1つの記憶空間のサイズを得る方法StatFs stat = new StatFs(path.getPath());で得られたバイト数stat.getBlockSizeLong()を提供する.
** **
stat.getBlockCountLong();“`
ファイルシステムが使用したブロック数を取得するstat.getAvailableBlocksLong();だからね!最後のステップ:
1.携帯電話のメモリディレクトリを取得する2.ファイルシステムの記憶空間のバイト数3を得る.このファイルシステムの総空間が占めるメモリブロックのブロック数4を得る.ファイルシステムで使用するメモリブロックのブロック数5を得る.ファイルの合計スペースと使用済みスペースのバイト数を計算し、フォーマットします:Formatter.formatFileSize(Context context,long size);最後に、コードを見てみましょう.
public void SdSpace() { 
File path = Environment.getDataDirectory();
StatFs stat = new StatFs(path.getPath());

//          
long blockSize = stat.getBlockSizeLong();
//        
long totalBlocks = stat.getBlockCountLong();
//          
long availableBlocks = stat.getAvailableBlocksLong();

long totalSize = blockSize * totalBlocks;
long availSize = availableBlocks * blockSize;

String totalStr = Formatter.formatFileSize(this, totalSize);
String availStr = Formatter.formatFileSize(this, availSize);
tv.setText("   :"+totalStr+"
"
+" :"+availStr); }