`
zhangle2612
  • 浏览: 23277 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Environment和StatFs查看存储卡剩余容量

阅读更多
public class MobileMemoryActivity extends Activity {

private Button mButton;
private TextView mTextView;
private ProgressBar mProgressBar;



protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.mobile_memory);

mButton = (Button) findViewById(R.id.mobile_memory_Button);
mTextView = (TextView) findViewById(R.id.mobile_memory_TextView);
mProgressBar = (ProgressBar) findViewById(R.id.mobile_memory_ProgressBar);

mButton.setOnClickListener(new Button.OnClickListener(){
public void onClick(View v) {
showSize();
}

});

}


private void showSize(){
mTextView.setText("");
mProgressBar.setProgress(0);

if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){

File path = Environment.getExternalStorageDirectory();

StatFs  statFs = new StatFs(path.getPath());
//取得block的size
long blockSize = statFs.getBlockSize();

                           //取得总容量
long tatalBlock = statFs.getBlockCount();

                           //取得可用容量
long availableBlock = statFs.getAvailableBlocks();

String[] total = fileSize(blockSize*tatalBlock);
String[] available = fileSize(blockSize*availableBlock);

                           //计算可用容量所占比例,在进度条上的显示值
int ps = Integer.parseInt(available[0])*mProgressBar.getMax()/Integer.parseInt(total[0]);
mProgressBar.setProgress(ps);

String text = "总共:"+total[0]+" "+ total[1]+"\n"
+"可用:"+available[0]+""+available[1];

mTextView.setText(text);
}


}

private String[] fileSize(long size){

String str = "";
if(size>=1024){
str="kb";
size/=1024;
if(size>=1024){
str="mb";
size/=1024;
}

}

DecimalFormat df = new DecimalFormat();
df.setGroupingSize(3);

String[] ss = new String[2];
ss[0] = df.format(size);
ss[1] = str;

return ss;

}

}
分享到:
评论

相关推荐

    android 查询存储卡剩余容量 (Environment 加 StatFs)

    android手机查询存储卡剩余容量 (Environment 加 StatFs)

    Android检测手机中存储卡及剩余空间大小的方法(基于Environment,StatFs及DecimalFormat)

    StatFs可以获取存储卡的空间大小以及剩余空间大小。DecimalFormat可以实现把数字划分为一定的格式。 具体程序如下: import java.io.File; import java.text.DecimalFormat; import android.app.Activity; import ...

    Android 获取SDCard卡容量.rar

    Android获取手机内置存储SDCard的使用情况,包括SD卡容量、已使用大小,剩余容量大小等信息,将获取的过程写入按钮...  Toast.makeText(Sample_10_7.this, "对不起,请先插入存储卡", Toast.LENGTH_LONG).show();  }

    Android 解析如何检测获取SDCard内存剩余空间.rar

    SDCard存储卡在 Android 手机上是可以随时插拔的,每次的动作都会引起Android系统ACTION_BROADCAST,本例子将计算出 SDCard 的剩余容量和总容量。供测试的sd卡中存了两首歌和一个30M的文件,现在检测剩余的空间正好...

    获取手机存储空间

    * @return 内置SDCard剩余存储空间MB数 */ private float getAvailableExternalMemorySize() { String path = getExternalMemoryPath();// 获取数据目录 StatFs stat = getStatFs(path); return ...

    Google Android SDK开发范例大全(PDF高清完整版3)(4-3)

    6.8 存储卡剩余多少容量——Environment加StatFs 6.9 访问本机内存与存储卡——File的创建与删除 6.10 实现可定时响起的闹钟——PendingIntent与AlarmManager的运用 6.11 黑名单来电自动静音——PhoneStateListener...

    Google Android SDK开发范例大全(PDF完整版4)(4-4)

    6.8 存储卡剩余多少容量——Environment加StatFs 6.9 访问本机内存与存储卡——File的创建与删除 6.10 实现可定时响起的闹钟——PendingIntent与AlarmManager的运用 6.11 黑名单来电自动静音——PhoneStateListener...

    Google Android SDK开发范例大全(PDF高清完整版1)(4-1)

    6.8 存储卡剩余多少容量——Environment加StatFs 6.9 访问本机内存与存储卡——File的创建与删除 6.10 实现可定时响起的闹钟——PendingIntent与AlarmManager的运用 6.11 黑名单来电自动静音——PhoneStateListener...

    Google Android SDK开发范例大全的目录

    6.8 存储卡剩余多少容量——Environment加StatFs 6.9 访问本机内存与存储卡——File的创建与删除 6.10 实现可定时响起的闹钟——PendingIntent与AlarmManager的运用 6.11 黑名单来电自动静音——PhoneStateListener...

    Google+Android+SDK开发范例大全

    SEND 6.8 存储卡剩余多少容量——Environment加StatFs 6.9 访问本机内存与存储卡——File的创建与删除 6.10 实现可定时响起的闹钟——PendingIntent与AlarmManager的运用 6.11 黑名单来电自动静音——...

    Google Android SDK开发范例大全(完整版附部分源码).pdf

    6.8 存储卡剩余多少容量——Environment加StatFs 6.9 访问本机内存与存储卡——File的创建与删除 6.10 实现可定时响起的闹钟——PendingIntent与AlarmManager的运用 6.11 黑名单来电自动静音——...

    Google Android SDK 开发范例大全01

    6.8 存储卡剩余多少容量——Environment加StatFs 6.9 访问本机内存与存储卡——File的创建与删除 6.10 实现可定时响起的闹钟——PendingIntent与AlarmManager的运用 6.11 黑名单来电自动静音——PhoneStateListener...

    Google Android SDK 开发范例大全02

    6.8 存储卡剩余多少容量——Environment加StatFs 6.9 访问本机内存与存储卡——File的创建与删除 6.10 实现可定时响起的闹钟——PendingIntent与AlarmManager的运用 6.11 黑名单来电自动静音——PhoneStateListener...

    Google Android sdk 开发范例大全 部分章节代码

    6.8 存储卡剩余多少容量——Environment加StatFs 6.9 访问本机内存与存储卡——File的创建与删除 6.10 实现可定时响起的闹钟——PendingIntent与AlarmManager的运用 6.11 黑名单来电自动静音——PhoneStateListener...

    Google Android SDK开发范例大全(完整版)

    6.8 存储卡剩余多少容量——Environment加StatFs 6.9 访问本机内存与存储卡——File的创建与删除 6.10 实现可定时响起的闹钟——PendingIntent与AlarmManager的运用 6.11 黑名单来电自动静音——PhoneStateListener...

    Android获取系统储存以及内存信息的方法(一)

    众所周知,Android的手机上的信息大部分都是可以通过代码获取的,比如说爱奇艺的离线储存功能上有一个最大储存大小/剩余储存大小的功能。 获取SD卡上的储存信息: /** * 获得SD卡总大小 * * @return */ ...

Global site tag (gtag.js) - Google Analytics