您的位置:首页 > 移动开发 > Android开发

Android 存储:SD卡剩余空间的检测

2015-08-25 22:29 441 查看

SD卡剩余空间的检测

  通过对Android源代码的查看可以获得Android中settings中内存剩余空间的获得方法,参考该方法进行SD卡剩余存储空间的获得。

  所有的存储设备的存储空间都被分成若干相同大小的存储区域,也就出现了blocksize 、 blockcount等

[code]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中的下图图标。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: