在我的应用程序中,我使用共享首选项来保存我的应用程序设置。
这是我定义共享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
的值而不是其他值。
答案 0 :(得分:0)
这是我的坏事。我必须将我的代码放在"之外,如果"块