14
所以我遵循Parse SDK网站的快速入门指南中的指示。该应用第一次运行良好。但是,当我最小化应用程序并从任务切换器再次运行它时,它会关闭。解析错误:解析#enableLocalDatastore(Context)`必须在`Parse#initialize(Context)'之前调用`
该错误对我没有任何意义。 logcat的 -
05-09 08:57:40.611 19419-19419/com.example.shubhamkanodia.bookmybook E/CrashReporting﹕ ParseCrashReporting caught a RuntimeException exception for com.example.shubhamkanodia.bookmybook. Building report.
05-09 08:57:40.626 19419-19419/com.example.shubhamkanodia.bookmybook E/CrashReporting﹕ Handling exception for crash
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.shubhamkanodia.bookmybook/com.example.shubhamkanodia.bookmybook.MainActivity}: java.lang.IllegalStateException: `Parse#enableLocalDatastore(Context)` must be invoked before `Parse#initialize(Context)`
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2325)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)
at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3947)
at android.app.ActivityThread.access$900(ActivityThread.java:151)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1309)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5254)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
Caused by: java.lang.IllegalStateException: `Parse#enableLocalDatastore(Context)` must be invoked before `Parse#initialize(Context)`
at com.parse.Parse.enableLocalDatastore(Parse.java:104)
at com.example.shubhamkanodia.bookmybook.MainActivity.onCreate(MainActivity.java:21)
at android.app.Activity.performCreate(Activity.java:5990)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)
at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3947)
at android.app.ActivityThread.access$900(ActivityThread.java:151)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1309)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5254)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
Mainactivity.java
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if(!ParseCrashReporting.isCrashReportingEnabled())
ParseCrashReporting.enable(this);
Parse.enableLocalDatastore(this); //Its already before initialize
Parse.initialize(this, "XXX", "XXX");
ParseInstallation.getCurrentInstallation().saveInBackground();
ParseAnalytics.trackAppOpenedInBackground(getIntent());
}
我有同样的问题。你能否解释一下,如何把它放在一个单独的课堂上会影响问题? – YumeApps
当您将初始化放置在主活动的onCreate()中时,只要此活动onCreate()不再被调用,就会工作。上述文章的工作原理是不将一次性初始化放入Activity中,而是放在具有不同生命周期的Application中(如https://tinyurl.com/q4bqoex所示),并且只会调用一次。 (通过使用类似单例的模式可以达到相同的效果)。 –
我认为这不是一个解决的答案。即使我已在应用程序的OnCreate函数中启用本地数据存储并初始化(此处为“xxx”,“xxx”),我也得到了相同的错误 – P1x