您的位置:首页 > 移动开发 > Android开发

android获取手机SD卡的使用情况

2011-11-15 14:46 148 查看
package com.xxg.testSd;

import java.io.File;

import android.app.Activity;
import android.os.Bundle;
import android.os.Environment;
import android.os.StatFs;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class TestSDActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btn =(Button)findViewById(R.id.bt);
btn.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
//判断是否插入SD卡
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
File filePath=Environment.getExternalStorageDirectory();    //获得sd 卡的路径
StatFs stat=new StatFs(filePath.getPath());                 //创建StatFs对象
long blockSize=stat.getBlockSize();                         //获取block的size
float totalBlocks=stat.getBlockCount();                     //获取block的个数
int sizeInMb =(int)(blockSize*totalBlocks)/1024/1024;       //计算总容量
long availableBlocks=stat.getAvailableBlocks();             //获取可用容量
float percent=availableBlocks/totalBlocks;                  //获取可用比例
percent=(int)(percent*1000);
TextView tv=(TextView)findViewById(R.id.tv);
tv.setText("SD卡使用情况:\n总容量:"+sizeInMb+"M.\n已用"+(100-percent/10.0f+"%可用"+percent/10.0f+"%."));

}
else{
Toast.makeText(TestSDActivity.this,"请插入SD卡",Toast.LENGTH_LONG).show();
}
}
});
}
}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: