获取sd卡可用空间

今天我们准备学习下图的sd卡空间读取的方法


其他的话不赘述,直奔主题。看下面的分解步骤:

1、首先创建一个工程:

之后一路下一步,创建好工程

2、来到“sd卡的大小\res\layout\activity_main.xml”文件下,创建两个textview:

<TextView

android:id="@+id/textview1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="总大小"/>

<TextView

android:id="@+id/textview2"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginTop="65dp"

android:text="可用空间"/>

3、来到MainActivity下,开始获取sd卡空间大小:

protected  void  onCreate(BundlesavedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

TextViewtextview1= (TextView) findViewById(R.id.textview1);

TextViewtextview2= (TextView) findViewById(R.id.textview2);

// 获取sd卡总大小和可用空间

Filefile= Environment.getExternalStorageDirectory();

longtotalSpace=file.getTotalSpace();

longuseableSpace=file.getUsableSpace();

// 对sd卡大小进行转换数据格式

StringftotalSpace= Formatter.formatFileSize(this,totalSpace);

StringfuseableSpace= Formatter

.formatFileSize(this,useableSpace);

// 展示到textview上

textview1.setText("总大小:"+ftotalSpace);

textview2.setText("剩余空间:"+fuseableSpace);

}

4、通常在上面的代码编写后程序会报错,如下图:


这个是API版本的问题,更改一下版本即可。在AndroidManifest.xml里面,将

<uses-sdk

android:minSdkVersion="9"

android:targetSdkVersion="21"/>里面的android:minSdkVersion的值改成9就可以了。

好了,关于如何获取sd卡空间大小到这里已经差不多结束了。大家一定要记得对sd卡的大小进行格式化转换,否则用户的对于用户的感受度和使用合理性都非常不好。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容