Android 儲存:SD卡剩餘空間的檢測
阿新 • • 發佈:2019-01-31
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中的下圖圖示。