今天我们准备学习下图的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卡的大小进行格式化转换,否则用户的对于用户的感受度和使用合理性都非常不好。