編輯:關於Android編程
代碼示例如下:
package com.itheima.getsdavail;
import java.io.File;
import android.os.Build;
import android.os.Bundle;
import android.os.Environment;
import android.os.StatFs;
import android.app.Activity;
import android.text.format.Formatter;
import android.view.Menu;
import android.widget.TextView;
public class MainActivity extends Activity {
@SuppressWarnings(deprecation)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
File path = Environment.getExternalStorageDirectory();
StatFs stat = new StatFs(path.getPath());
long blockSize;
long totalBlocks;
long availableBlocks;
//獲取當前系統版本的等級
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2){
//高版本的Android支持以下操作
blockSize = stat.getBlockSizeLong();
totalBlocks = stat.getBlockCountLong();
availableBlocks = stat.getAvailableBlocksLong();
}
//低版本的Android支持以下操作
else{
blockSize = stat.getBlockSize();
totalBlocks = stat.getBlockCount();
availableBlocks = stat.getAvailableBlocks();
}
TextView tv = (TextView) findViewById(R.id.tv);
tv.setText(formatSize(availableBlocks * blockSize));
}
private String formatSize(long size) {
return Formatter.formatFileSize(this, size);
}
}
注:可以通過源碼的Setting應用去查看其是如何獲取SD卡的剩余空間的,從而通過借鑒到達我們獲取SD卡剩余容量的目的
React-Native Android 與 IOS App使用一份代碼實現方法
React-Native Android 與 IOS 共用代碼React-Native 開發的App, 所有組件iOS & Android 共用, 共享一份代
Android系列---JSON數據解析的實例
上篇隨筆詳細介紹了三種解析服務器端傳過來的xml數據格式,而對於服務器端來說,返回給客戶端的數據格式一般分為html、xml和json這三種格式,那麼本篇隨筆將講解一下j
Android中使用RecyclerView實現下拉刷新和上拉加載
推薦閱讀:使用RecyclerView添加Header和Footer的方法
淺談Android應用保護(二):Anti-Analysis的方法和工具
之前講到過,應用開發者為了保護自己的應用不被別人分析和篡改,會將應用的安全性寄托在某個(些)機制上。可以被用來保護應用的機制有很多,效果和實現難度也是各有特點。有這樣一類