SharedPreferences getString例外

1253 ワード

プロジェクトプログラムでsharedpreferencesをキャッシュに大量に使用しているため、開発中に発生した問題です.そして、keyが統一的に管理されていないという問題が発生しました.
例外情報:
05-11 09:10:01.991: E/AndroidRuntime(17032): Caused by: java.lang.ClassCastException: java.lang.Boolean cannot be cast to java.lang.String 05-11 09:10:01.991: E/AndroidRuntime(17032): at android.app.SharedPreferencesImpl.getString(SharedPreferencesImpl.java:223) 05-11 09:10:01.991: E/AndroidRuntime(17032): at com.ronindong.ztemp.MainActivity.onCreate(MainActivity.java:60) 05-11 09:10:01.991: E/AndroidRuntime(17032): at android.app.Activity.performCreate(Activity.java:6051) 05-11 09:10:01.991: E/AndroidRuntime(17032): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106) 05-11 09:10:01.991: E/AndroidRuntime(17032): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2281) 05-11 09:10:01.991: E/AndroidRuntime(17032): ... 10 more
JAvaコード:
private final staitc KEY_TEST = "key_test_";
SharedPreferences sp = getSharedPreferences("test", Context.MODE_PRIVATE);
//key    boolean    
sp.edit().putBoolean(KEY_TEST, false).commit();
//   key,  string 
String string = sp.getString(KEY_TEST, "");