2012-10-21 28 views
2

好吧,我遇到過許多關於創建和寫入/讀取文件的教程。我想要的Android應用程序是創建一個小文本文件,它將讀取和寫入一些設置,以便我的用戶信息可以保存。問題是我遇到的每個教程都使用SDcard(它允許用戶和任何其他應用程序讀取),或使用MODE_WORLD_READABLE,它使任何應用程序都讀取它。

我想知道如何創建和讀/寫我的文件,但私人或至少保持它在手機的內部存儲。寫入文件沒有MODE_WORLD_READ/WRITE

+1

爲什麼不只需使用SharedPreferences? [1]:http://stackoverflow.com/questions/5734721/android-shared-preferences – rundavidrun

+0

@rundavidrun不知道如何使用它很多,從什麼即時看到至少,它沒有多少,除非區別我錯了。 –

+0

@Moyle Jack:你錯了。它管理你想要自己做的所有事情,它是標準的Android API,它是免費的,...更好地學習它,而不是做一些錯誤的東西,你會節省時間。 –

回答

3

下面是一個簡單的例子。要閱讀偏好做到這一點:由於之前

SharedPreferences preferences = getSharedPreferences("YourAppName",MODE_PRIVATE); 
SharedPreferences.Editor editor = preferences.edit(); 
editor.putString("KeyForThisString", thisString); 
editor.commit(); 

,可以putInt,putLong:

SharedPreferences preferences = getSharedPreferences("YourAppName", MODE_PRIVATE); 
String thisString = preferences.getString("KeyForThisString", "default"); 

您可以getInt,getLong等

要存儲的喜好,使用這些線路等

此API的可用方法在這裏:http://developer.android.com/reference/android/content/SharedPreferences.html

1

dont know how to use it much and from what im seeing at least, its not much of a difference unless im wrong.

我仍然推薦使用SharedPreferences技術。它非常簡單並且可以節省大量時間。

您可以使用它來保存任何原始數據:booleans, floats, ints, longs, and strings。例如,每次用戶調用對應用程序的任何更改時都可以這樣做,因爲這是高性能技術。通過這種方式,即使在崩潰時,所有編輯的信息也將被存儲。

假設您有活動。

使用此方法,其中data是您想要保存到文件的字符串。

private void saveInfo(String data){ 
    String key = "myKey"; 
    SharedPreferences.Editor editor = mPrefs.edit(); 
    editor.putString(key , data); 
    editor.commit(); 
} 

現在,當你啓動應用程序再次onCreate方法調用,你可以回裝載您的信息:

private void loadInfo(){ 
    String key = "myKey"; 
    SharedPreferences mPrefs = context.getSharedPreferences(LauncherUI.PREFS_NAME, 0); 
    String yourData = mPrefs.getString(key, ""); // "" means if no data found, replace it with empty string 
} 

下面是5種類型的鏈接來存儲數據:Storage Options