zoukankan      html  css  js  c++  java
  • android之读取SD卡状态

    package xidian.dy.com.chujia;
    
    import android.os.Build;
    import android.os.Environment;
    import android.os.StatFs;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.text.format.Formatter;
    import android.widget.TextView;
    
    
    import java.io.File;
    
    
    public class MainActivity extends AppCompatActivity {
    
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
                TextView tv1 = (TextView)findViewById(R.id.total);
                TextView tv2 = (TextView)findViewById(R.id.available);
                File f = Environment.getExternalStorageDirectory();
                StatFs stat = new StatFs(f.getPath());
                long blockSize,totalBlocks,availableBlocks;
                if(Build.VERSION.SDK_INT >=Build.VERSION_CODES.JELLY_BEAN_MR2){
                    blockSize = stat.getBlockSizeLong();
                    totalBlocks = stat.getBlockCountLong();
                    availableBlocks = stat.getAvailableBlocksLong();
                }else {
                    blockSize = stat.getBlockSize();
                    totalBlocks = stat.getBlockCount();
                    availableBlocks = stat.getAvailableBlocks();
                }
                if(tv1 != null)
                    tv1.setText("总大小:"+formatSize(blockSize*totalBlocks));
                if(tv2 != null)
                    tv2.setText("剩余容量:"+formatSize(blockSize*availableBlocks));
            }
        }
    
        private  String formatSize(long size){
            return Formatter.formatFileSize(this, size);
        }
    }

     在查看SD卡容量的时候首先看SD卡是否挂载,如果已挂载则再检查系统的版本。根据不同的版本调用不同的系统API。计算SD卡容量的时候是根据每个区块的大小*总区块个数来计算的。FormatFileSize函数是将字节转换为MB/GB。

  • 相关阅读:
    计算机体系结构的铁律(iron law)
    PHP 画图——使用jpgraph画图
    理解Paxos Made Practical
    【bzoj1015】【JSOI2008】【星球大战】【并查集+离线】
    Spark调研笔记第3篇
    hduoj2094产生冠军
    使用HD/IDE层的ioctl接口获取磁盘容量get_hdd_max_sector
    给GridView设置行高
    tomcat的一些简单配置
    【JavaScript】--JavaScript总结一览无余
  • 原文地址:https://www.cnblogs.com/xidongyu/p/5579067.html
Copyright © 2011-2022 走看看