2011-09-29 49 views
3

我想讀取和寫入圖像到我的應用程序中的外部存儲。從我讀到的下面是正確的方式來處理目錄。模擬器上的Environment.getExternalStorageDirectory()

File externalStorageDir = Environment.getExternalStorageDirectory(); 
File picturesDir = new File(externalStorageDir, "Pictures"); 

但是......

picturesDir.exists(); // == null 
picturesDir.mkdir(); // == false 

這是因爲我使用模擬器?

回答

2

你可能想確保你已經啓用外部存儲:

在Eclipse中,選擇Window> Android SDK和AVD管理器。選擇適當的AVD,然後單擊編輯。

Window - Android SDK and AVD Manager

確保您已啓用SD卡支持。如果沒有,請點擊「新建」按鈕並選擇「SD卡支持」選項。

Edit screen

編輯:另外需要

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 

添加到清單。

+0

謝謝。我還必須將''添加到清單。這聽起來正確嗎? – Synesso

+1

是的 - 我補充說,以供將來參考的解決方案 – Jack

0

默認情況下,模擬器將在沒有SD卡的情況下啓動。 您應該首先在控制檯中使用mksdcard命令來創建SD卡圖像。 見SDK文檔:https://developer.android.com/studio/command-line/mksdcard.html

因此,在控制檯下輸入命令來與SD卡啓動模擬器:

emulator -avd <emulator name> -sdcard <sdcard image name> 

爲了獲得更好的性能,我強烈建議你通過一個真實的設備調試應用程序。