編輯:關於Android編程
本文實例講述了Android編程之判斷SD卡狀態的方法。分享給大家供大家參考,具體如下:
首先我們要在AndroidManifest.xml中增加SD卡訪問權限:
<!-- 在SDCard 的掛載權限 --> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> <!-- 往SDCard寫入數據權限 --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
接著我們寫一個通用類來保存SD卡相關的操作及狀態檢查:
import java.io.File;
import android.os.Environment;
import android.os.StatFs;
public class SDTool {
private static SDTool tool = null;
// 檢查SD卡是否掛載
public boolean SD_EXIST = false;
private SDTool() {
}
public static SDTool instance() {
if (tool == null) {
synchronized (SDTool.class) {
if (tool == null) {
tool = new SDTool();
tool.SD_EXIST = Environment.MEDIA_MOUNTED
.equals(Environment.getExternalStorageState());
}
}
}
return tool;
}
public long getSDFreeSize() {
// 取得SD卡文件路徑
File path = Environment.getExternalStorageDirectory();
StatFs sf = new StatFs(path.getPath());
long blockSize = sf.getBlockSize();
// 空閒的數據塊的數量
long freeBlocks = sf.getAvailableBlocks();
// 返回SD卡空閒大小
return freeBlocks * blockSize; // 單位Byte
}
public long getSDAllSize() {
// 取得SD卡文件路徑
File path = Environment.getExternalStorageDirectory();
StatFs sf = new StatFs(path.getPath());
// 獲取單個數據塊的大小(Byte)
long blockSize = sf.getBlockSize();
// 獲取所有數據塊數
long allBlocks = sf.getBlockCount();
// 返回SD卡大小
return allBlocks * blockSize; // 單位Byte
}
}
一個字段是判斷SD_EXIST,true表示存在。
另外2個方法一個是獲取SD卡剩余容量(Byte),另一個獲取總容量。以後對SD卡的操作的方法都可以寫到這裡面。便於管理。
更多關於Android相關內容感興趣的讀者可查看本站專題:《Android編程開發之SD卡操作方法匯總》、《Android開發入門與進階教程》及《Android控件用法總結》。
希望本文所述對大家Android程序設計有所幫助。
android開發筆記之網絡編程—簡易新聞客戶端
今天我們來對前面講過的知識綜合運用一下,包括xml的PULL解析,listView的萬能適配器等知識。。。。那先來看一個組件—->智能圖片加載器(sma
Android中讓圖片自適應控件的大小的方法
這就需要把.png格式的圖片轉成.9.png格式,.9.png就是後綴名。在安裝Android-SDK時自帶了<draw9patch.bat>可以把.png格
Android使用criteria選擇合適的地理位置服務實現方法
本文實例講述了Android使用criteria選擇合適的地理位置服務實現方法。分享給大家供大家參考,具體如下:/* LocationActivity.java * @a
解決eclipse啟動時報錯Failed to create the Java Virtural Machine.問題的方法
最近在學習android的開發搭建環境時,在網上下載了一個最新的eclpse,在啟動的時候報錯:Failed to create the Java Virtural Ma