簡體   English   中英

Android - 如何在代碼中設置首選項

[英]Android - How Do I Set A Preference In Code

我有一個Android應用程序,我在XML文件中有我的首選項,工作正常。 我現在想要使用代碼設置其中一個首選項而不是顯示整個首選項屏幕,我將如何進行此操作?

我假設您的偏好是指您的應用程序的首選項,而不是Android手機設置。

要在運行應用程序之間存儲首選項,您需要執行以下操作

  1. 創建SharedPreferences對象

     SharedPreferences settings = getSharedPreferences(String n, MODE_PRIVATE); 

    字符串n標識您的首選項,第二個參數是它們將被訪問的模式

  2. 實例化一個Editor對象

     SharedPreferences.Editor editor = settings.edit(); 

    注意:不要嘗試settings.editor.edit(),這不會使持久對象和下面的代碼不起作用

  3. 將您的首選項寫入緩沖區

     editor.put...(String, value) 

    有很多put函數,putString,putBoolean等.String是鍵(“版本”,“運行良好”),值是值(“1.5.2”,true)

  4. 沖洗緩沖區

     editor.commit(); 

    這實際上寫了你的偏好。 如果您的應用程序在此行之前崩潰,則不會寫入首選項。 還有一個記錄在案的錯誤:commit()應該返回一個表示成功或失敗的布爾值。 最后我檢查它總是返回false。

這些首選項將存儲在手機上,並且只能由您的應用程序訪問。

這里有更多文檔

我嘗試了這個但是沒有用:

SharedPreferences settings = getSharedPreferences(String n, MODE_PRIVATE);

試試這個:

SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(this);

您可以使用下面的代碼在共享首選項中保存一些內容

public static void save(String valueKey, String value) {
    SharedPreferences prefs = PreferenceManager
            .getDefaultSharedPreferences(context);
    SharedPreferences.Editor edit = prefs.edit();
    edit.putString(valueKey, value);
    edit.commit();
    }

要閱讀首選項:

public static String read(String valueKey, String valueDefault) {
    SharedPreferences prefs = PreferenceManager
            .getDefaultSharedPreferences(context);
   return prefs.getString(valueKey, valueDefault);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM