
Android External Storage 外部儲存使用方法
APP 開發External Storage 中的檔案能與其他 APP 共享資源,也可以使用手機內建的檔案管理 APP 來瀏覽這些檔案。 傳統的 External Storage 通常代表 SD 卡,但實際上 External Storage 區分 Primary External Storage 及 Secondary External Storage 兩種類型,每個類型還區分 APP 專屬目錄及共享目錄。 這幾種類型主要差異只有目錄取得的方式,後續的各項操作都大同小異。 由於 External Storage 儲存設備可能被使用者移除,因此比較適合用來儲存 APP 執行時非必要的檔案,就是被刪除也不影響 APP 執行的檔案。 在使用檔案前,也建議應該先檢查設備是否可讀可寫。
External Storage 類型介紹
下圖是 External Storage 不同類型的目錄位置,位於 APP 專屬目錄 (app-specific) 中的檔案,會在 APP 解除安裝時一併被移除,共享目錄則不會移除。
Primary External Storage
Primary External Storage 直接翻譯就是主要外部儲存空間,這個空間是位於手機內部的儲存空間,因此無論有沒有 SD 卡,APP 都一定有 Primary External Storage 可以使用。
APP 專屬目錄 (app-specific)
共享目錄 (專屬目錄以外)
這類型操作需要額外的權限,詳細說明請參考第 3 章。
Secondary External Storage
Secondary External Storage 就是指 Primary External Storag 以外的儲存空間,一般常見的就是 SD 卡或是 USB 外接隨身碟。
APP 專屬目錄 (app-specific)
共享目錄 (專屬目錄以外)
目前尚無有效方法可操作此類型目錄。
確認儲存空間是否可用
由於 External Storage 使用的儲存設備可能會被使用者移除,因此在使用前需要先檢查儲存空間是否可以使用。
存取共享目錄所需權限
存取共享目錄需要在 AndroidManifest.xml 檔案中,設定 READ_EXTERNAL_STORAGE 及 WRITE_EXTERNAL_STORAGE 權限,並將 requestLegacyExternalStorage 設定為 true。
之後在程式碼中,檢查是否具備權限。
檔案操作
以下是 External Storage 常用操作程式碼,提供大家參考。
取得目錄
寫入
讀取
刪除
從網址取得檔案儲存至 External Storage
上述範例是將純文字寫入至本機檔案儲存,但在實際案例中,很少單純將文字寫入到檔案而已。 通常都是透過網址將遠端的檔案下載至本機儲存,請參考以下範例。
0 則留言