import java.io.File;


import android.app.Activity;

import android.os.Bundle;

import android.os.Environment;

import android.os.StatFs;

import android.text.format.Formatter;

import android.view.View;

import android.widget.TextView;


public class MainActivity extends Activity {


@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

TextView tvMemoryInfo = (TextView) findViewById(R.id.tv_memory_info);

// 获得sd卡的内存状态

File sdcardFileDir = Environment.getExternalStorageDirectory();

String sdcardMemory = getMemoryInfo(sdcardFileDir);

// 获得手机内部存储控件的状态

File dataFileDir = Environment.getDataDirectory();

String dataMemory = getMemoryInfo(dataFileDir);

tvMemoryInfo.setText("SD卡: " + sdcardMemory + "\n手机内部: " + dataMemory);

}


/**

* 根据路径获取内存状态

* @param path

* @return

*/

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, totalBlocks * blockSize);

// 可用空间

String availableMemory = Formatter.formatFileSize(this, availableBlocks * blockSize);

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

}

}


更多相关文章

  1. ExpandableListView的小图标有个状态
  2. android Notification 状态栏通知使用示例
  3. 状态栏获取信息
  4. android GPS 获取卫星数量
  5. 仿Google应用动态隐藏显示状态栏
  6. android获取手机存储状态
  7. android BottomSheetDialog新控件解析,实现知乎评论列表效果
  8. 【Android(安卓)P】 JobScheduler服务源码解析(二) ——框架解析
  9. android opengl 原理及开发(2)绘制基本图形

随机推荐

  1. Android 解压文件包
  2. 《Android 基础(十二)》 TextInputLayout,让
  3. android下播放器视频输出方法总结
  4. android studio 打包release出现的错误
  5. Android在外部修改了工程名文件夹名称,报
  6. Android(安卓)service与线程区别
  7. [CSDN]Android应用程序启动过程源代码分
  8. Android项目初始时的文件
  9. 第3章 UI开发的点点滴滴
  10. Android 运行时权限