2012-10-27 79 views
2

我有一個Xperia Neo V,它沒有任何內部存儲 - 只有SD卡作爲外部存儲,而Galaxy S3同時具有內部和外部存儲。在內部和外部存儲上訪問文件

使用此功能時Environment.getExternalStorageDirectory();我可以訪問文件只能在內部存儲(S3),但有沒有問題的Xperia新五

我怎麼能在兩個內部和外部存儲訪問文件?

+1

發佈您的代碼以便更好地理解 –

+0

通過使用上述功能,我只能訪問內部存儲,無法訪問S3上外部Sdcard上的文件。 – user1778783

+0

通過此鏈接http://stackoverflow.com/questions/11716448/how-to-access-external-micro-sd-card-of-the-phone –

回答

1

我有一個新的Xperia信息v不具有任何內部存儲

所有Android裝置具有內部存儲,包括了Xperia理學V.內部存儲,其中OS和應用程序數據被存儲 - - 沒有它,你的手機將無法工作。

大概你用單詞「external」和「removable」來解決問題。在Android術語中,「外部」意思是「可以通過在設備和主機之間插入USB電纜而由用戶獨立訪問」。所有的Android設備都有外部存儲;無論該存儲是否可移動或不可變。

因此,對於Xperia Neo V,您既有內部存儲器也有外部存儲器,外部存儲器由可移動SD卡來表示。

使用此函數時使用Environment.getExternalStorageDirectory();我可以訪問文件只能在內部存儲(S3),但與新的Xperia五

這是因爲getExternalStorageDirectory()返回該設備的外部存儲目錄沒有問題。

如何訪問內部和外部存儲上的文件?

使用getExternalStorageDirectory()可以訪問外部存儲。使用getFilesDir()來獲取應用程序的內部存儲部分。

對於具有多種外部存儲形式的設備(例如Galaxy S3),Android SDK僅支持訪問由getExternalStorageDirectory()提供的其中一種設備。

+0

有趣。那麼,如果您取出SD卡並拍照,那麼這些照片將被存儲在不可移動的外部存儲設備上?現在,如果你把SD卡重新插入,你會失去對這些照片的訪問權限,直到我們刪除了該卡片?或者這是如何工作的? – trusktr

+1

@trusktr:「那麼,如果你刪除了SD卡並拍照,那麼這些照片將被存儲在不可移動的外部存儲上?」 - 你將不得不問具體的相機應用程序的作者。 「現在,如果你把SD卡重新插入,你會失去對這些照片的訪問權限,直到我們刪除了該卡片,或者它是如何工作的?」 - 再次,你將不得不問問具體相機應用程序的作者。有數以千計的相機應用程序,所以這將需要一些時間。 – CommonsWare

+0

那麼我們來考慮一個使用'Environment.getExternalStorageDirectory()'設置它的工作路徑的相機應用程序。該應用程序在該方法返回的目錄中創建一個DCIM文件夾,並將所有照片存儲在DCIM中。如果SD卡存在,則DCIM文件夾將位於SD卡上。如果移除了SD卡,則會在內部「外部存儲器」的某個位置創建一個新的DCIM文件夾。當SD卡重新放入手機時,設備中現在會有兩個DCIM文件夾。一個文件夾被識別,而另一個被忽略? – trusktr