最近項目有一個新需求是要把應用的大文件下載到外置SD卡,自己研究了一下安卓如何獲取內置和外置SD卡路徑以及進行文件讀寫,以下是自己的總結。
在網上找的方法都感覺不太好,比較亂,所以自己就查了一下安卓的官方API。官方API路徑是:file:///C:/Android/android-sdk-windows/docs/guide/topics/data/data-storage.html,把C:/Android/android-sdk-windows替換爲你電腦上SDK的安裝路徑。我是用的火狐瀏覽器的脫機模式查看的(這裏一定要選擇脫機模式,否則頁面會去嘗試聯網,但是谷歌又被牆了,所以會無法加載)。
下面我挑一些重要的步驟進行說明(圖片截取自網頁):
①,獲取權限:
<manifest ...>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="18" />
...
</manifest>
②,檢查存儲卡是否可用:最重要的一點就是:當你需要對存儲卡進行讀寫操作時,首先需要確認存儲卡是否處於可讀或者可寫的狀態。獲取存儲卡狀態的方法爲:Environment.getExternalStorageState()。存儲卡可讀的狀態爲:Environment.MEDIA_MOUNTED_READ_ONLY,既可讀又可寫的狀態爲:Environment.MEDIA_MOUNTED。