Android 获取存储空间
package com.example.getMem; import java.io.File; import android.os.Build;
import android.os.Bundle;
import android.os.Environment;
import android.os.StatFs;
import android.text.format.Formatter;
import android.widget.TextView;
import android.app.Activity;
import android.app.AlertDialog.Builder; public class MainActivity extends Activity { private TextView tv_totalSize;
private TextView tv_availabelSize;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv_totalSize=(TextView) findViewById(R.id.totalSize);
tv_availabelSize=(TextView) findViewById(R.id.availabel);
// 获取存储空间
File dataFileDir=Environment.getDataDirectory();
String data =getMemoryInfo(dataFileDir);
String []d= data.split("##");
tv_totalSize.setText("内部存储总大小:" + d[0]);
tv_availabelSize.setText("内部存储可用空间是:" + d[1]);
//获取Sd 卡空间
// File SdFileDir=Environment.getExternalStorageDirectory();
// //判断Sd卡是否可用
// if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
// String sdMemory =getMemoryInfo(SdFileDir);
// String []sd=sdMemory.split("##");
// tv_totalSize.setText("内部存储总大小:" + sd[0]);
// tv_availabelSize.setText("内部存储可用空间是:" + sd[1]);
//
// }
}
private String getMemoryInfo(File path) {
long blockSize;
long totalBlockCount;
long avaiLabelCount;
// TODO Auto-generated method stub
StatFs stat = new StatFs(path.getPath());
//检测系统版本
if(Build.VERSION.SDK_INT >=Build.VERSION_CODES.JELLY_BEAN_MR2){
//获取每个扇区的大小
blockSize = stat.getBlockSizeLong();
//获取总共有多少扇区
totalBlockCount=stat.getBlockCountLong();
//获取可用扇区数量
avaiLabelCount=stat.getAvailableBlocksLong();
}else{
blockSize=stat.getBlockSize();
totalBlockCount=stat.getBlockCount();
avaiLabelCount=stat.getAvailableBlocks();
}
// 磁盘总大小
String totalMemory =Formatter.formatFileSize(this, blockSize*totalBlockCount);
// 可用大小
String availabelMemory=Formatter.formatFileSize(this, blockSize*avaiLabelCount);
return totalMemory+"##"+availabelMemory;
}
}
http://pan.baidu.com/s/1bp0V87d
Android 获取存储空间的更多相关文章
- android 获取sd卡根目录
dir:/storage/emulated/0 也就是 sdcard目录 ====== android 获取sd卡根目录 public String getSDPath(){ File ...
- Android获取SD卡路径及SDCard内存的方法
这篇文章主要介绍了Android获取SD卡路径及SDCard内存的方法,较为详细的分析了Android针对SD卡操作所涉及的类及其具体函数功能,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了A ...
- Android获取内置sdcard跟外置sdcard路径
Android获取内置sdcard跟外置sdcard路径.(测试过两个手机,亲测可用) 1.先得到外置sdcard路径,这个接口是系统提供的标准接口. 2.得到上一级文件夹目录 3.得到该目录的所有文 ...
- Android获取系统时间方法的总结
Android获取系统时间方法的方法有很多种,常用的有Calendar.Date.currentTimeMills等方法. (1)Calendar Calendar获取系统时间首先要用Calendar ...
- Android获取屏幕宽和高
android获取屏幕的高度和宽度用到WindowManager这个类,两种方法: 1.WindowManager wm = (WindowManager) getContext() ...
- android 获取文件夹、文件的大小 以B、KB、MB、GB 为单位
android 获取文件夹.文件的大小 以B.KB.MB.GB 为单位 public class FileSizeUtil { public static final int SIZETYPE_B ...
- Android获取APK包名的几种方法
Android获取APK包名的几种方法:1.adb shell pm list package -f | findstr 关键字 #只能获取到包名,主Activity名无法获取到 2.使用aapt-- ...
- I.MX6 android 获取framebuffer信息
/******************************************************************************** * I.MX6 android 获取 ...
- android 获取IMEI号
android 获取 imei号码 核心代码: Imei = ((TelephonyManager) getSystemService(TELEPHONY_SERVICE)).getDeviceId( ...
随机推荐
- linux计划任务运行php文件的方法
在linux下,借助crontab,设置计划任务每天6点10分执行filename.php文件,写入一行时间到log日志中. 创建计划任务的脚本: dos2unix /path/to/filename ...
- 将服务费用DIY到底----走出软件作坊:三五个人十来条枪 如何成为开发正规军(十)[转]
前一段时间,讲了一系列开发经理.实施经理.服务经理的工具箱:开发经理的工具箱---走出软件作坊:三五个人十来条枪 如何成为开发正规军(三) ,实施经理的工具箱--走出软件作坊:三五个人十来条枪 如何成 ...
- Java :List
1.List是一个接口,不能实例化,需要实例化一个ArrayList或者LinkedListList myList = new ArrayList(); 2.List中可以添加任何对象,包括自己定义的 ...
- android提示框
// 对话框 AlertDialog.Builder builder = new Builder(MainActivity.this); builder.setMessage("是否确认删除 ...
- UIViewController启动过程
流程:判断是否view属性为nil,如果为空,调用loadView方法,如果重写了loadView方法,那么从代码创建普通视图,如果没有重写并且有storyBoard或者xib文件,那么从storyB ...
- ubuntu使用记录
常用指令 ls 显示文件或目录 -l 列出文件详细信息l(list) -a 列出当前目录下所有文件及目录,包括隐藏的a(all) mkdir ...
- linux设备驱动归纳总结(四):1.进程管理的相关概念【转】
本文转载自;http://blog.chinaunix.net/uid-25014876-id-64866.html linux设备驱动归纳总结(四):1.进程管理的相关概念 xxxxxxxxxxxx ...
- Linux内存管理原理【转】
转自:http://www.cnblogs.com/zhaoyl/p/3695517.html 本文以32位机器为准,串讲一些内存管理的知识点. 1. 虚拟地址.物理地址.逻辑地址.线性地址 虚拟地址 ...
- 自动封装Servlet HttpServletRequest请求成为一个POJO对象
自己写了个小工具类,将Servlet里面的HttpServletRequest请求封装成为一个POJO对象,可以复习一下Java的反射原理,开发中这个没什么用,毕竟都用MVC框架,框架都自带这种功能, ...
- Mysql slow query log
一.概念部分: 顾名思义,慢查询日志中记录的是执行时间较长的query,也就是我们常说的slow query,通过设--log-slow-queries[=file_name]来打开该功能并设置记录 ...