共享首选项不适用于某些键

时间:2017-10-07 20:46:16

标签: java android sharedpreferences

在我的应用程序中,我使用共享首选项来保存我的应用程序设置。

这是我定义共享Prefrences的方式:

sharedPreferences = context.getSharedPreferences(getString(R.string.last_update_key),MODE_PRIVATE);
String shared = sharedPreferences.getString(getString(R.string.last_update_key),"0");

和我的ASyncTask onPostExecute块使用传递的共享首选项:

protected void onPostExecute(String result) {
    if(result == "true"){

        textView.setText(R.string.updated_message);
        SharedPreferences.Editor editor = sharedPreferences.edit();
        editor.putString(context.getString(R.string.last_update_key),getCurrentTimeStamp());
        try {
            editor.putString("s_app_name",json3.getJSONObject(0).getString("value"));
            editor.putString("s_township_name",json3.getJSONObject(1).getString("value"));
            editor.putString("s_welcome_message",json3.getJSONObject(2).getString("value"));

        }catch (JSONException e){
        }
        editor.commit();

    }

但是我把它们放在try块中的字符串不会显示在我的活动中,并且我没有收到任何错误。 这是我如何获得我保存的价值:

SharedPreferences sharedPref = context.getSharedPreferences(
            getString(R.string.last_update_key), Context.MODE_PRIVATE);
String welcome_message = sharedPref.getString("s_welcome_message","");

问题在于我可以获得R.string.last_update_key的值而不是其他值。

1 个答案:

答案 0 :(得分:0)

这是我的坏事。我必须将我的代码放在"之外,如果"块