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( ...
随机推荐
- 夺命雷公狗---Thinkphp----3之后台搭建
我们这里来搭建我们网站所需要用到的后台: 我们直接打开WEB目录,然后直接赋值Home文件粘贴并改名为Admin,效果如下所示: 然后修改他的控制器: 代码修改成如下所示: <?php name ...
- clock gating and PLL
一个gating的clock是指:clock network除了包含inverter和buffer外,还有其他logic. PrimeTime会自动的对gating input进行setup和hold ...
- RobotFramework 安装配置(二)
前面已经写了一篇关于RF的安装配置了,那是在做自动化工具调研的时候搭建RF总结的,基于win32的系列软件安装的过程.经过1个月的调研,做成了demo,也大致学RF的使用和python的基础语法,暂时 ...
- [fedora21]给fedora21安装fcitx输入法
如果已经安装了ibus,需要卸载ibus: sudo yum remove ibus; 安装fcitx: sudo yum install fcitx fcitx-pinyin fcitx-con ...
- SQL SERVER2000中订阅与发布的具体操作
同步过程 一.准备工作,如果完成则可跳过. 1.内网DB服务器作为发布服务器,外网DB服务器作为订阅服务器. 发布服务器和订阅服务器上分别创建Windows用户jl,密码jl,隶属于administr ...
- python时间处理函数
所有日期.时间的api都在datetime模块内. 1. 日期输出格式化 datetime => string import datetime now = datetime.datetime.n ...
- sqlserver常用调优脚本(转)
(转)以备不时之需 最耗时的sql declare @n int set @n=500 ; with cte1 as(select a.*,t.*from sys.dm_exec_query_stat ...
- innodb的锁时间
观察innodb的锁时间,需要关注: mysqladmin extended-status -r -i 1 -uroot | grep "Innodb_row_lock_time" ...
- 深拷贝 vs 浅拷贝 释放多次
如果类中有需要new的数据,那么一定要注意delete; 如果只free一次,但是提示free多次,一定要注意了,有可能是因为你没有定义拷贝函数! 以我的亲身经历来说: operater *(mycl ...
- 《QT Creator快速入门》
ui中的类,这样使用无法通过调试: Ui::Dialog ui(&w); w.show(); 而需要改成: Ui::Dialog ui; ui.setupUi(&w); w.show( ...