当我将解析代码放入其中时,应用程序崩溃了

时间:2015-04-21 09:33:47

标签: android parse-platform

我的应用程序有两个活动,它工作正常,但一旦我把这些代码行

Parse.initialize(this, "app id", "client id");

ParseUser.enableAutomaticUser();
ParseACL defaultACL = new ParseACL();

defaultACL.setPublicReadAccess(true);
ParseACL.setDefaultACL(defaultACL, true);

该应用程序崩溃。我尝试将其从第一个活动中删除并将其放入第二个活动中,当我这样做时,应用程序正常工作,直到应用程序移动到第二个活动,然后崩溃

04-21 17:37:59.199  22529-22529/com.example.cashmoney.barakah     E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.NoClassDefFoundError: bolts.Task
        at com.parse.ParseInstallation.hasCurrentInstallationAsync(ParseInstallation.java:88)
        at com.parse.GcmRegistrar.updateAsync(GcmRegistrar.java:96)
        at com.parse.Parse.initialize(Parse.java:240)
        at com.example.cashmoney.barakah.MainActivity.onCreate(MainActivity.java:42)
        at android.app.Activity.performCreate(Activity.java:5193)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1090)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2189)
        at   android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2286)
        at android.app.ActivityThread.access$600(ActivityThread.java:144)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1259)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:137)
        at android.app.ActivityThread.main(ActivityThread.java:5166)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:525)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:745)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:561)
        at dalvik.system.NativeStart.main(Native Method)

2 个答案:

答案 0 :(得分:1)

Parse初始化应该放在Application类的onCreate方法中。

Parse.initialize(this, "APPLICATION ID",
            "CLIENT KEY");

    ParseUser.enableAutomaticUser();
    ParseACL defaultACL = new ParseACL();

    defaultACL.setPublicReadAccess(true);
    ParseACL.setDefaultACL(defaultACL, true);

请参阅Parse文档:

https://parse.com/apps/quickstart#parse_push/android/existing

<强>提示 您也不应该发布您的应用程序密钥和ID。

答案 1 :(得分:0)

看起来您需要添加对bolt库的引用。如果您使用的是gradle,则以下内容应该有效:

dependencies { compile 'com.parse.bolts:bolts-android:1.2.0' }