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

来源:互联网 发布:阿里云加固 编辑:程序博客网 时间:2024/05/15 06:38

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中的下图图标。
这里写图片描述

0 0