使用共享首选项(Android)

时间:2014-08-07 11:02:48

标签: android preferences

我正在尝试在Android上的共享首选项中保存一些数据,并且如下页所示(http://developer.android.com/guide/topics/data/data-storage.html#pref),我应该编写一些代码,如下面的onCreate()方法中显示的代码:

public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main_tablet);

    //Restore preferences
    SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
    boolean silent = settings.getBoolean("silentMode", false);
    setSilent(silent);
}

问题是最后一行:

 setSilent(silent);

显示错误显示为:

  

对于MainActivity类型

,方法setSilent(boolean)未定义

我该怎么做才能解决这个问题?

谢谢!

3 个答案:

答案 0 :(得分:1)

使用sharedpreferences保存值:

SharedPreferences pref = this.getSharedPreferences("Test",0);
Editor editor = pref.edit();
editor.putString("VALUE", value);
editor.commit();

得到它:

SharedPreferences prfs = getSharedPreferences("Test", Context.MODE_PRIVATE);
String v= prfs.getString("VALUE", "");

答案 1 :(得分:0)

删除以下行:

setSilent(silent);

您需要的值已存储在变量silent中。上述行可能包括在内,以演示您可以使用变量

做什么

答案 2 :(得分:0)

使用SharedPreference获取储值

private String getOnPreference() {
    String prefName = null;
    try {

        SharedPreferences myPrefs2 = this.getSharedPreferences("myPrefs",
                MODE_PRIVATE);
        prefName = myPrefs2.getString("key",value);
    } catch (Exception e) {
        LOG.error("Get error in shared preference", e);
    }
    return prefName;
}

使用共享首选项

设置值
private void setOnPreference(String value) {
                try {
                    SharedPreferences myPrefs = this.getSharedPreferences("myPrefs",
                            MODE_PRIVATE);
                    SharedPreferences.Editor prefsEditor = myPrefs.edit();
                    prefsEditor.putString("key", value);
                    prefsEditor.commit();
                } catch (Exception e) {
                    LOG.error("Set error in shared preference", e);
                }
            }

只需使用上述功能即可使用共享首选项获取和设置任何数据