2011-03-07 77 views
2

顯然Android上的外部存儲(由Environment.getExternalStorageDirectory引用)不一定是SD卡。事實上,它甚至不必是外部的!我應該如何在Android的用戶界面中引用「外部存儲」?

如何在UI中引用此存儲?例如,如果它目前無法訪問,我想向用戶顯示錯誤。如果我說「外部存儲」或「SD卡」,我可能會混淆某些設備的用戶。有沒有適當的方法來識別它?

回答

1

一看文檔的Environment.getExternalStorageDirectory()

注意:不要用這個詞 「外部」在這裏混淆。該目錄可以更好地被認爲是媒體/共享 存儲。它是一個文件系統,可以保存相對較大的數據量 ,並在所有應用程序(不強制執行 權限)之間共享。傳統上,這是一個 SD卡,但它也可以是 如在 裝置,其從所述 受保護的內部存儲不同的且可以是 安裝爲在計算機上文件系統的內置存儲實現。

聽起來像共享存儲將是一個很好的術語。

+0

除了這可能會混淆用戶,我不會立即想到我的SD卡,如果我看到「共享存儲」 – Dre

+0

是的,沒錯。儘管如此,讓用戶適應「正確」的思維方式也許是件好事。 –

+0

雖然它可能不是一個技術上優先的術語,但我經常發現自己說「**用戶存儲**」。這個術語對存儲介質是內部的還是外部的,可移動的還是永久的沒有任何說明。它還避免了誰共享存儲的問題。但是,我在不同的上下文中使用這個術語,這些術語不那麼正式,也不如應用程序的UI持久。與其他地方常用的術語保持一致可能會更好。 – erichamion

0

我需要解決同樣的問題,我想我只是找到了我們的解決方案!

http://developer.android.com/reference/android/os/Environment.html#isExternalStorageRemovable%28%29

環境類提供了以下方法:

public static boolean isExternalStorageRemovable() 

返回主 「外部」 存儲裝置是否是可移除的。如果返回true,則此設備是例如用戶可以移除的SD卡。如果返回false,則存儲器將內置到設備中,並且不能被物理移除。

聽起來很像我們需要的東西。

編輯我剛剛注意到它是在API級別9中添加的,當您第一次詢問此問題時可能並不存在。

相關問題