android之查看SDCard容量
来源:互联网 发布:天气预报数据库 编辑:程序博客网 时间:2024/05/16 19:31
如图所示,通过progressBar来展示当前的sdcard容量。
代码:
activity代码:
- package cn.com.chenzheng_java;
- import java.io.File;
- import android.app.Activity;
- import android.os.Bundle;
- import android.os.Environment;
- import android.os.StatFs;
- import android.util.Log;
- import android.view.View;
- import android.view.View.OnClickListener;
- import android.widget.Button;
- import android.widget.ProgressBar;
- import android.widget.Toast;
- public class SDCardActivityextends Activity implements OnClickListener {
- String result = "SDCard容量相关信息:/n";
- ProgressBar progressBar ;
- Button button;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.sdcard);
- progressBar = (ProgressBar) findViewById(R.id.progressBar_sdcard);
- button = (Button) findViewById(R.id.button_sdcard);
- button.setOnClickListener(this);
- }
- private void showSDCardSize(){
- progressBar.setProgress(0);
- File sdcard = Environment.getExternalStorageDirectory();
- /**
- * 我们可以通过StatFs访问文件系统的空间容量等信息
- */
- StatFs statFs = new StatFs(sdcard.getPath());
- /**
- * statFs.getBlockSize可以获取当前的文件系统中,一个block所占有的字节数
- */
- int blockSize = statFs.getBlockSize();
- /**
- * statFs.getAvaliableBlocks方法可以返回尚未使用的block的数量
- */
- int avaliableBlocks = statFs.getAvailableBlocks();
- /**
- * statFs.getBlockCount可以获取总的block数量
- */
- int totalBlocks = statFs.getBlockCount();
- result+="/n 尚未被使用的空间大小:"+avaliableBlocks*blockSize+"byte";
- result+="/n 总空间大小:"+totalBlocks*blockSize+"byte";
- float a = (float)avaliableBlocks/totalBlocks;
- int b = Integer.valueOf(Float.valueOf(a*100).toString().substring(0,2));
- progressBar.setProgress(90);
- Log.i("通知", result);
- Toast.makeText(this, b+" "+result, Toast.LENGTH_LONG).show();
- }
- @Override
- public void onClick(View v) {
- showSDCardSize();
- }
- }
sdcard.xml
- <?xmlversion="1.0"encoding="utf-8"?>
- <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"android:layout_height="fill_parent"
- android:orientation="vertical">
- <!--
- progressBar设置为水平的长框而不是一直旋转的小圆圈,应该通过如下语句设置
- style="?android:attr/progressBarStyleHorizontal"
- 或者
- style="?android:progressBarStyleHorizontal"
- -->
- <ProgressBarandroid:id="@+id/progressBar_sdcard"
- android:progress="0"style="?android:progressBarStyleHorizontal"mce_style="?android:progressBarStyleHorizontal"
- android:max="100"
- android:layout_width="fill_parent"android:layout_height="wrap_content"></ProgressBar>
- <Buttonandroid:id="@+id/button_sdcard"android:layout_width="wrap_content"
- android:text="Button"android:layout_height="wrap_content"></Button>
- </LinearLayout>
其他的文件都为默认。
--------------------------------------------------------------------------------------------
这里,只要使用到了一个类android.os.StatFs,该类可以让我们访问文件系统的容量相关的信息。
主要方法有:
- android之查看SDCard容量
- android之查看SDCard容量
- Android: SDCard容量计算
- Android SDCard的容量大小
- Android SDCard操作(文件读写,容量计算)
- Android SDCard操作(文件读写,容量计算)
- Android SDCard操作(文件读写,容量计算)
- Android SDCard操作(文件读写,容量计算)
- Android SDCard操作(文件读写,容量计算)
- Android SDCard操作(文件读写,容量计算)
- Android SDCard操作(文件读写,容量计算)
- Android SDCard操作(文件读写,容量计算)
- Android SDCard操作(文件读写,容量计算)
- Android SDCard操作(文件读写,容量计算)
- Android SDCard操作(文件读写,容量计算)
- Android SDCard操作(文件读写,容量计算)
- Android SDCard操作(文件读写,容量计算)
- Android中sdcard容量的获取
- 完全修改mysql字符集
- Maven使用入门(一)
- android之定时器AlarmManager
- 【读书笔记】现代操作系统(第三版)勘误一
- android数据库
- android之查看SDCard容量
- 韩顺平 省级联动 完成版 ajax
- Java 矩阵类 实现加法、减法和乘法
- android之通过phoneStateListener监听电话状态改变
- 黑马程序员----------UDP网络编程
- 【hadoop学习】在伪分布式hadoop上实践word count程序——c/c++ streaming版本(未完)
- Oracle 11g ORA-12514 TNS:监听程序当前无法识别连接描述符中请求的服务
- android与javascript交互调用
- 在C语言中利用有限状态自动机模拟编译器去除代码中/**/类注释的程序实现