获取Android手机存储相关信息

在进行Android手机APP开发的时候,绝对会少不了与存储打交道,而其中的手机存储空间大小,可用存储空间大小等相关参数是必须的。为了保证数据存储,所以就必须要在之前确认可用空间足够使用,以下为获取Android手机存储空间相关信息的核心代码:


import cn.guyouda.Demo;
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 {


	@SuppressWarnings("deprecation")
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
	File path = Environment.getExternalStorageDirectory(); 
        StatFs stat = new StatFs(path.getPath());
        long blockSize;   
        long totalBlocks; 
        long availableBlocks; 
        
        //由于JELLY_BEAN_MR2之前的版本和之后的版本获取方式有差异,所以进行判断,确保能够在所有版本手机上正确运行
        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);  //通过界面的一个TextView显示
        tv.setText("总共存储空间大小:"+formatSize(availableBlocks * blockSize)+"可用存储空间大小:"+formatSize(availableBlocks * blockSize));
	}
	
	//将B转换为MB,然后再转换为字符串
	private String formatSize(long size) {
        return Formatter.formatFileSize(this, size);
    }

}




  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值