原文:http://crackren.iteye.com/blog/747121
android.os.environment
提供通路環境變量
java.lang.object
environment 靜态方法:
方法 : getdatadirectory ()
傳回 : file
解釋 : 傳回data的目錄
方法 : getdownloadcachedirectory ()
解釋 : 傳回下載下傳緩沖區目錄
方法 : getexternalstoragedirectory ()
解釋 : 傳回擴充存儲區目錄(sdcard)
方法 : getexternalstoragepublicdirectory (string type)
解釋 : 傳回一個高端的公用的外部存儲器目錄來擺放某些類型的檔案(來自網上)
方法 : getrootdirectory ()
解釋 : 傳回android的根目錄
方法 : getexternalstoragestate ()
傳回 : string
解釋 : 傳回外部儲存設備的目前狀态
常量 : media_bad_removal
值 : "bad_removal"
解釋 : 在沒有正确解除安裝sdcard之前移除了
常量 : media_checking
值 : "checking"
解釋 : 正在磁盤檢查
常量 : media_mounted
值 : "mounted"
解釋 : 已經挂載并且擁有可讀可寫權限
常量 : media_mounted_read_only
值 : "mounted_ro"
解釋 : 已經挂載,但隻擁有可讀權限
常量 : media_nofs
值 : "nofs"
解釋 : 對象空白,或者檔案系統不支援
常量 : media_removed
值 : "removed"
解釋 : 已經移除擴充裝置
常量 : media_shared
值 : "shared"
解釋 : 如果sdcard未挂載,并通過usb大容量存儲共享
常量 : media_unmountable
值 : "unmountable"
解釋 : 不可以挂載任何擴充裝置
常量 : media_unmounted
值 : "unmounted"
解釋 : 已經解除安裝
一個模拟linux的df指令的一個類,獲得sd卡和手機記憶體的使用情況
android.os.statfs
構造方法:
statfs (string path)
公用方法:
方法 : getavailableblocks ()
傳回 : int
解釋 :傳回檔案系統上剩下的可供程式使用的塊
方法 : getblockcount ()
解釋 : 傳回檔案系統上總共的塊
方法 : getblocksize ()
解釋 : 傳回檔案系統 一個塊的大小機關byte
方法 : getfreeblocks ()
解釋 : 傳回檔案系統上剩餘的所有塊 包括預留的一般程式無法通路的
方法 : restat (string path)
傳回 : void
解釋 : 執行一個由該對象所引用的檔案系統雷斯塔特.(google翻譯)
想計算sdcard大小和使用情況時, 隻需要得到sd卡總共擁有的block數或是剩餘沒用的block數,再乘以每個block的大小就是相應的容量大小了機關byte.(見代碼)
主要:
在判斷sdcard的狀态為media_mounted後,僅是說明硬體已經準備好可讀可寫
如果想叫你的程式也可寫的話,還需要在工程的xml檔案中加上操作擴充儲存設備的權限
方法:
在 xml檔案中 permissions 标簽中 點選add 添加 uses permission 名字選擇
android.permission.write_external_storage
或者直接在xml檔案中添加下面一句即可.
<uses-permission android:name="android.permission.write_external_storage"></uses-permission>