2012-11-28 45 views
1

Java中是否有任何方式來真正瞭解您的Android應用程序是否安裝在SD卡或內部手機存儲上。是我的Android應用程序安裝在SD卡或內部手機存儲上

如果我的應用程序安裝在內部手機存儲上,並且我的應用程序創建了一個文本文件,那麼該文本文件也存儲在內部手機存儲中,對不對?因此,將應用程序移動到SD卡時,文本文件是否也會移動到SD卡?

這有道理嗎? = P

在此先感謝。

回答

1

有沒有什麼辦法可以在Java中找到你的android應用程序是安裝在SD卡還是內部手機存儲上。

ApplicationInfo.FLAG_EXTERNAL_STORAGE

如果我的應用程序安裝在手機內部存儲,和我的應用程序創建一個文本文件,然後將該文本文件也被存儲在手機內部存儲,對不對?

不一定 - 它取決於您使用什麼方法創建文件。創建內部或外部文件通常使用完全不同的方法。

例如優選的方法來創建內部文件是使用..

openFileOutput(String name, int mode) 

類似地,用於讀取內部文件的首選方法是...

openFileInput(String name) 

如果原始文件被移動到SD卡,那麼它將不會被發現,因爲openFileInput(String name)只適用於內部存儲。換句話說,如果移動過程移動了內部文件,它會'破壞'程序員的代碼。

因此,將應用程序移動到SD卡時,文本文件是否也會移動到SD卡?

不,數據文件的創建以及它們的存儲位置與實際應用的安裝位置無關,因爲上述原因。

+0

啊,好的,非常感謝。 – user959631

相關問題