码迷,mamicode.com
首页 > 其他好文 > 详细

查看源代码查找获取sd卡剩余容量的代码

时间:2015-09-08 18:25:18      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:

 

  • 下载android源码,找到app下的Settings应用源码,导入Settings项目(android项目源码)
  • 查找“可用空间”得到

     <string name="memory_available" msgid="418542433817289474">"可用空间"</string>
    
  • 查找"memory_available",得到

    <Preference android:key="memory_sd_avail" 
        style="?android:attr/preferenceInformationStyle" 
        android:title="@string/memory_available"
        android:summary="00"/>
    
  • 查找"memorysdavail",得到

    //这个字符串就是sd卡剩余容量
    formatSize(availableBlocks * blockSize) + readOnly
    //这两个参数相乘,得到sd卡以字节为单位的剩余容量
    availableBlocks * blockSize
    
  • 存储设备会被分为若干个区块,每个区块有固定的大小

  • 区块大小 * 区块数量 等于 存储设备的总大小
  • 示例代码

    File path = Environment.getExternalStorageDirectory();
        StatFs stat = new StatFs(path.getPath());
        long blockSize;
        long totalBlocks;
        long 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();
        }
    
        TextView tv = (TextView) findViewById(R.id.tv);
        tv.setText(formatSize(availableBlocks * blockSize));
    }
    
    private String formatSize(long size) {
        return Formatter.formatFileSize(this, size);
    }

     

    
    

查看源代码查找获取sd卡剩余容量的代码

标签:

原文地址:http://www.cnblogs.com/zxtian1987/p/4792295.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!