package com.example.demo;
import java.io.File;
import android.os.Bundle;
import android.os.Environment;
import android.os.StatFs;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
public class MainActivity extends Activity {
private final String TAG = "wugw";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (externalMemoryAvailable()) {
Log.i(TAG, "getTotalExternalMemorySize: " + getTotalExternalMemorySize());
Log.i(TAG, "getAvailableExternalMemorySize: " + getAvailableExternalMemorySize());
}
Log.i(TAG, "getTotalInternalMemorySize: " + getTotalInternalMemorySize());
Log.i(TAG, "getAvailableInternalMemorySize: " + getAvailableInternalMemorySize());
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
/**
* @author wugw
* @description 判断SdCard是否插入
*/
private boolean externalMemoryAvailable() {
return Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED);
}
/**
* @author wugw
* @description 获取设备内部总的存储空间
*/
private long getTotalInternalMemorySize() {
File path = Environment.getDataDirectory();
Log.i(TAG, path.getPath());
StatFs stat = new StatFs(path.getPath());
long blockSize = stat.getBlockSize();
long totalBlocks = stat.getBlockCount();
return totalBlocks * blockSize;
}
/**
* @author wugw
* @description 获取设备内部剩余存储空间
*/
private long getAvailableInternalMemorySize() {
File path = Environment.getDataDirectory();
StatFs stat = new StatFs(path.getPath());
long blockSize = stat.getBlockSize();
long totalBlocks = stat.getAvailableBlocks();
return totalBlocks * blockSize;
}
/**
* @author wugw
* @description 获取设备SDCard总的存储空间
*/
private long getTotalExternalMemorySize() {
File path = Environment.getExternalStorageDirectory();
Log.i(TAG, path.getPath());
StatFs stat = new StatFs(path.getPath());
long blockSize = stat.getBlockSize();
long totalBlocks = stat.getBlockCount();
return totalBlocks * blockSize;
}
/**
* @author wugw
* @description 获取设备SDCard剩余存储空间
*/
private long getAvailableExternalMemorySize() {
File path = Environment.getExternalStorageDirectory();
StatFs stat = new StatFs(path.getPath());
long blockSize = stat.getBlockSize();
long totalBlocks = stat.getAvailableBlocks();
return totalBlocks * blockSize;
}
}
Android 获取系统和SdCard空间信息
最新推荐文章于 2015-11-25 14:12:28 发布