Android复习练习五(获取sd卡存储空间状态)
2014-08-28 01:13
555 查看
需求:写一个Activity来获取当前手机的SD卡的空间状态,总大小和可用大小,显示在屏幕上
除了判断空间之外,在此之前很可能还需要判断当前手机是否包含sd卡,可以使用下面语句来做判断条件:
判断sd卡的容量经常会用到,基本每次需要往sd卡里放数据时都应当判断一下当前sd卡的空间是否够用。没有什么太多需要注意的,代码如下:
显示效果如图:
除了判断空间之外,在此之前很可能还需要判断当前手机是否包含sd卡,可以使用下面语句来做判断条件:
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){ //对应操作 }
判断sd卡的容量经常会用到,基本每次需要往sd卡里放数据时都应当判断一下当前sd卡的空间是否够用。没有什么太多需要注意的,代码如下:
package com.alexchen.getsizeofsdcard; import java.io.File; import android.app.Activity; import android.os.Bundle; import android.os.Environment; import android.os.StatFs; import android.text.format.Formatter; import android.widget.TextView; public class MainActivity extends Activity { // 需求:在界面上显示当前手机sd卡的总空间和总可用空间 private TextView tvAll; private TextView tvAvailable; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tvAll = (TextView) findViewById(R.id.tv_sizeofall); tvAvailable = (TextView) findViewById(R.id.tv_sizeofavailable); // 1.首先获取sd卡的目录文件 File fileDir = Environment.getExternalStorageDirectory(); // 2.获取sd卡目录的StatFs对象 // StatFs:Retrieve overall information about the space on a filesystem. // This is a Wrapper for Unix statfs(). StatFs statFs = new StatFs(fileDir.getPath()); // 3.由statfs对象可以获取当前目录(sd卡目录)的块区大小,总块区数和可用块区数 int blockSizeLong = statFs.getBlockSize(); int availableBlocksLong = statFs.getAvailableBlocks(); int blockCountLong = statFs.getBlockCount(); // 4.通过Formatter.formatFileSize方法来获取空间大小的描述,GB/MB/KB等 String totalSize = Formatter.formatFileSize(this, (long) (blockSizeLong * blockCountLong)); String availableSize = Formatter.formatFileSize(this, (long) (blockSizeLong * availableBlocksLong)); tvAll.setText("SD卡总空间为:"+totalSize); tvAvailable.setText("SD卡可用空间为:"+availableSize); } }
显示效果如图:
相关文章推荐
- Android_获取sd卡空间、手机内部存储空间
- Android(java)学习笔记183:判断SD卡状态和存储空间大小
- Android.os下的StatFs类主要用来获取文件系统的状态,能够获取sd卡的大小和剩余空间,获取系统内部空间也就是/system的大小和剩余空间等等。
- 获取Android手机中SD卡存储信息 获取剩余空间
- 获取Android手机中SD卡存储信息 获取剩余空间
- Android 存储到SD卡,获取SD的大小及可用空间
- Android开发获取多个存储空间的路径(内置SD卡以及外置SD卡)
- 获取Android手机中SD卡存储信息 获取剩余空间
- 获取Android手机中SD卡存储信息 获取剩余空间
- Android 最新获取手机内置存储大小,SD卡存储空间大小方法
- 获取Android手机中SD卡存储信息 获取剩余空间
- Android 获取Android手机中SD卡存储信息 获取剩余空间
- Android获取SD卡存储空间
- Android.os下的StatFs类主要用来获取文件系统的状态,能够获取sd卡的大小和剩余空间,获取系统内部空间也就是/system的大小和剩余空间等等。
- android 拍照指定存储路径 检查SD卡状态
- 获取android手机内部存储空间和外部存储空间的参数 && 如何决定一个apk的安装位置
- Android中StatFs获取系统/sdcard存储(剩余空间)大小
- android外接存储设备状态判断-USB和SD卡连接状态
- Android USB大容量存储时SD卡状态监听
- Android获取外部和内部存储空间总大小和可用大小