2014-02-13 38 views
0

我在做對吧?當我按下後,我想要使用SharedPreferences保存卡片數組(對象),但是每當我運行該程序時,都會出現錯誤。或者我應該在onCreate上轉換對象?將對象轉換爲json並使用sharedpreferences保存

@Override 
    protected void onPause() { 

     String json = new Gson().toJson(cards); 
     SharedPreferences prefs = getSharedPreferences("CARDARRAY", 
       MODE_PRIVATE); 
     SharedPreferences.Editor editor = prefs.edit(); 
     editor.putString("carddArray", json); 
     editor.commit(); 
     Toast.makeText(getBaseContext(), "Settings saved", Toast.LENGTH_SHORT) 
       .show(); 

     super.onPause(); 
    } 

logcat的

02-13 23:22:50.091: E/AndroidRuntime(17941): FATAL EXCEPTION: main 
02-13 23:22:50.091: E/AndroidRuntime(17941): java.lang.NoClassDefFoundError: com.google.gson.Gson 
02-13 23:22:50.091: E/AndroidRuntime(17941): at edu.np.ece.mapg.flashnote.Collections.onPause(Collections.java:118) 
02-13 23:22:50.091: E/AndroidRuntime(17941): at android.app.Activity.performPause(Activity.java:5319) 
02-13 23:22:50.091: E/AndroidRuntime(17941): at android.app.Instrumentation.callActivityOnPause(Instrumentation.java:1226) 
02-13 23:22:50.091: E/AndroidRuntime(17941): at android.app.ActivityThread.performPauseActivity(ActivityThread.java:3142) 
02-13 23:22:50.091: E/AndroidRuntime(17941): at android.app.ActivityThread.performPauseActivity(ActivityThread.java:3111) 
02-13 23:22:50.091: E/AndroidRuntime(17941): at android.app.ActivityThread.handlePauseActivity(ActivityThread.java:3089) 
02-13 23:22:50.091: E/AndroidRuntime(17941): at android.app.ActivityThread.access$800(ActivityThread.java:154) 
02-13 23:22:50.091: E/AndroidRuntime(17941): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1265) 
02-13 23:22:50.091: E/AndroidRuntime(17941): at android.os.Handler.dispatchMessage(Handler.java:99) 
02-13 23:22:50.091: E/AndroidRuntime(17941): at android.os.Looper.loop(Looper.java:137) 
02-13 23:22:50.091: E/AndroidRuntime(17941): at android.app.ActivityThread.main(ActivityThread.java:5214) 
02-13 23:22:50.091: E/AndroidRuntime(17941): at java.lang.reflect.Method.invokeNative(Native Method) 
02-13 23:22:50.091: E/AndroidRuntime(17941): at java.lang.reflect.Method.invoke(Method.java:511) 
02-13 23:22:50.091: E/AndroidRuntime(17941): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795) 
02-13 23:22:50.091: E/AndroidRuntime(17941): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:562) 
02-13 23:22:50.091: E/AndroidRuntime(17941): at dalvik.system.NativeStart.main(Native Method) 
+3

什麼錯誤?什麼時候? logcat中有什麼? –

+0

後LogCat PLZ –

+0

@Aleks G logcat發佈 – user3262536

回答

0

好像你沒有在你的gradle這個文件中添加GSON庫:

dependencies { compile 'com.google.code.gson:gson:2.2.+' } 
+0

瞭解OP如何建立項目會很有趣。如果是日食,那麼就沒有任何處理。 –

+0

仍然有問題。就像Aleks G說的那樣,我使用的是eclipse,也使用了gson 2.2.4的最新版本。 – user3262536

相關問題