您的位置:首页 > 其它

获取手机存储空间信息

2016-07-12 01:09 309 查看
需求:获取手机存储空间信息,包括总空间和可用空间

代码:

package com.suzi.getmemoryinfo;

import android.os.Bundle;
import android.os.Environment;
import android.os.StatFs;
import android.support.v7.app.AppCompatActivity;
import android.text.format.Formatter;
import android.widget.TextView;

import java.io.File;

public class MainActivity extends AppCompatActivity
{
//控件
private TextView tv = null;

@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

tv = (TextView) findViewById(R.id.tv);

//获得手机内存空间信息
File dataFileDir = Environment.getDataDirectory();
String dataMemoryInfo = getMemoryInfo(dataFileDir);

//获得SD卡存储空间信息
File sdFileDir = Environment.getExternalStorageDirectory();
String sdMemoryInfo = getMemoryInfo(sdFileDir);

tv.setText("手机内存:\n" + dataMemoryInfo + "\nSD卡:\n" + sdMemoryInfo);
}

private String getMemoryInfo(File path)
{
// 获得一个磁盘状态对象
StatFs stat = new StatFs(path.getPath());

long blockSize = stat.getBlockSize();    // 获得一个扇区的大小

long totalBlocks = stat.getBlockCount();    // 获得扇区的总数

long availableBlocks = stat.getAvailableBlocks();    // 获得可用的扇区数量

//总存储空间
String totalMemory = Formatter.formatFileSize(this, blockSize * totalBlocks);
//可用空间
String availableMemory = Formatter.formatFileSize(this, blockSize * availableBlocks);

return "总空间:" + totalMemory + "\n可用空间:" + availableMemory;
}
}


运行效果:

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