1. 程式人生 > >Android 儲存:SD卡剩餘空間的檢測

Android 儲存:SD卡剩餘空間的檢測

SD卡剩餘空間的檢測

  通過對Android原始碼的檢視可以獲得Android中settings中記憶體剩餘空間的獲得方法,參考該方法進行SD卡剩餘儲存空間的獲得。
  所有的儲存裝置的儲存空間都被分成若干相同大小的儲存區域,也就出現了blocksize 、 blockcount等

package com.example.externalsurplus;

import java.io.File;

import android.os.Build;
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 { private long blocksize; private long totalblock; private long availbleblocks; private StatFs stat; @Override protected
void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); File path=Environment.getExternalStorageDirectory(); stat = new StatFs(path.toString()); //此處進行版本的判斷因為在2.3版本中 getBlockSize()等方法還適用 //之後的有些版本有了新的方法進行替代。 if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.JELLY_BEAN_MR1){
blocksize = stat.getBlockSizeLong(); totalblock = stat.getBlockCountLong(); availbleblocks = stat.getAvailableBlocksLong(); }else{ blocksize = stat.getBlockSize(); totalblock = stat.getBlockCount(); availbleblocks = stat.getAvailableBlocks(); } TextView tv=(TextView) findViewById(R.id.tv); tv.setText(formatsize(availbleblocks*blocksize)); } private String formatsize(long size){ return Formatter.formatFileSize(this, size); } }

這裡寫圖片描述
這裡寫圖片描述
學習:
通過關鍵字在檔案中查詢相關項:可以通過filesearch來查詢。
eclipse中的下圖圖示。
這裡寫圖片描述