Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android parse.com正在保存安装错误。找不到要更新的对象_Android_Parse Platform_Android 4.4 Kitkat - Fatal编程技术网

android parse.com正在保存安装错误。找不到要更新的对象

android parse.com正在保存安装错误。找不到要更新的对象,android,parse-platform,android-4.4-kitkat,Android,Parse Platform,Android 4.4 Kitkat,我在下面看到这个错误,不知道该怎么办。我甚至不知道在这里发布什么代码,因为我似乎找不到代码中导致此错误的地方。还有一件更重要的事情需要提及:这个错误不会发生在我的第一台测试设备上,这是一台运行安卓4.0.4的HTC Evaluable,但我的第二台测试设备是运行4.4.2的三星平板电脑,它确实收到了这个错误 编辑:我认为这与我的parse安装对象有关,因为它不会保存到第二台设备的数据库中。在我的代码中,我有: ParseInstallation UserPushObj = ParseInsta

我在下面看到这个错误,不知道该怎么办。我甚至不知道在这里发布什么代码,因为我似乎找不到代码中导致此错误的地方。还有一件更重要的事情需要提及:这个错误不会发生在我的第一台测试设备上,这是一台运行安卓4.0.4的HTC Evaluable,但我的第二台测试设备是运行4.4.2的三星平板电脑,它确实收到了这个错误

编辑:我认为这与我的parse安装对象有关,因为它不会保存到第二台设备的数据库中。在我的代码中,我有:

 ParseInstallation UserPushObj = ParseInstallation.getCurrentInstallation();
 System.out.println(UserPushObj.getObjectId());
它返回一个parse安装对象,该对象的对象id不在数据库中。我试着

 UserPushObj.saveInBackground();
但这并不能节约。有人能给我指出正确的方向,我能做些什么来修复它吗

E/ParseCommandCache(8040): Failed to run command.
E/ParseCommandCache(8040): com.parse.ParseException: object not found for update
E/ParseCommandCache(8040):  at com.parse.ParseCommand.onPostExecute(ParseCommand.java:334)
 E/ParseCommandCache(8040):     at com.parse.ParseRequest$5.then(ParseRequest.java:321)
E/ParseCommandCache(8040):  at com.parse.ParseRequest$5.then(ParseRequest.java:318)
E/ParseCommandCache(8040):  at com.parse.Task$11.run(Task.java:481)
E/ParseCommandCache(8040):  at com.parse.Task$ImmediateExecutor.execute(Task.java:673)
E/ParseCommandCache(8040):  at com.parse.Task.completeAfterTask(Task.java:477)
E/ParseCommandCache(8040):  at com.parse.Task.continueWithTask(Task.java:353)
E/ParseCommandCache(8040):  at com.parse.Task.continueWithTask(Task.java:364)
E/ParseCommandCache(8040):  at com.parse.Task$9.then(Task.java:410)
E/ParseCommandCache(8040):  at com.parse.Task$9.then(Task.java:402)
E/ParseCommandCache(8040):  at com.parse.Task$11.run(Task.java:481)
E/ParseCommandCache(8040):  at com.parse.Task$ImmediateExecutor.execute(Task.java:673)
E/ParseCommandCache(8040):  at com.parse.Task.completeAfterTask(Task.java:477)
E/ParseCommandCache(8040):  at com.parse.Task.access$400(Task.java:22)
E/ParseCommandCache(8040):  at com.parse.Task$7.then(Task.java:346)
E/ParseCommandCache(8040):  at com.parse.Task$7.then(Task.java:343)
E/ParseCommandCache(8040):  at com.parse.Task.runContinuations(Task.java:510)
E/ParseCommandCache(8040):  at com.parse.Task.access$800(Task.java:22)
E/ParseCommandCache(8040):  at com.parse.Task$TaskCompletionSource.trySetResult(Task.java:565)
E/ParseCommandCache(8040):  at com.parse.Task$TaskCompletionSource.setResult(Task.java:599)
E/ParseCommandCache(8040):  at com.parse.Task$11$1.then(Task.java:493)
E/ParseCommandCache(8040):  at com.parse.Task$11$1.then(Task.java:485)
E/ParseCommandCache(8040):  at com.parse.Task$10.run(Task.java:448)
E/ParseCommandCache(8040):  at com.parse.Task$ImmediateExecutor.execute(Task.java:673)
E/ParseCommandCache(8040):  at com.parse.Task.completeImmediately(Task.java:444)
E/ParseCommandCache(8040):  at com.parse.Task.access$300(Task.java:22)
E/ParseCommandCache(8040):  at com.parse.Task$6.then(Task.java:311)
E/ParseCommandCache(8040):  at com.parse.Task$6.then(Task.java:308)
E/ParseCommandCache(8040):  at com.parse.Task.runContinuations(Task.java:510)
E/ParseCommandCache(8040):  at com.parse.Task.access$800(Task.java:22)
E/ParseCommandCache(8040):  at com.parse.Task$TaskCompletionSource.trySetResult(Task.java:565)
E/ParseCommandCache(8040):  at com.parse.Task$TaskCompletionSource.setResult(Task.java:599)
E/ParseCommandCache(8040):  at com.parse.Task$11$1.then(Task.java:493)
E/ParseCommandCache(8040):  at com.parse.Task$11$1.then(Task.java:485)
E/ParseCommandCache(8040):  at com.parse.Task$10.run(Task.java:448)
E/ParseCommandCache(8040):  at com.parse.Task$ImmediateExecutor.execute(Task.java:673)
E/ParseCommandCache(8040):  at com.parse.Task.completeImmediately(Task.java:444)
E/ParseCommandCache(8040):  at com.parse.Task.access$300(Task.java:22)
E/ParseCommandCache(8040):  at com.parse.Task$6.then(Task.java:311)
E/ParseCommandCache(8040):  at com.parse.Task$6.then(Task.java:308)
E/ParseCommandCache(8040):  at com.parse.Task.runContinuations(Task.java:510)
E/ParseCommandCache(8040):  at com.parse.Task.access$800(Task.java:22)
E/ParseCommandCache(8040):  at com.parse.Task$TaskCompletionSource.trySetResult(Task.java:565)
E/ParseCommandCache(8040):  at com.parse.Task$TaskCompletionSource.setResult(Task.java:599)
E/ParseCommandCache(8040):  at com.parse.Task$11$1.then(Task.java:493)
E/ParseCommandCache(8040):  at com.parse.Task$11$1.then(Task.java:485)
E/ParseCommandCache(8040):  at com.parse.Task$10.run(Task.java:448)
E/ParseCommandCache(8040):  at com.parse.Task$ImmediateExecutor.execute(Task.java:673)
E/ParseCommandCache(8040):  at com.parse.Task.completeImmediately(Task.java:444)
E/ParseCommandCache(8040):  at com.parse.Task.continueWith(Task.java:318)
E/ParseCommandCache(8040):  at com.parse.Task.continueWith(Task.java:329)
E/ParseCommandCache(8040):  at com.parse.Task$11.run(Task.java:485)
E/ParseCommandCache(8040):  at com.parse.Task$ImmediateExecutor.execute(Task.java:673)
E/ParseCommandCache(8040):  at com.parse.Task.completeAfterTask(Task.java:477)
E/ParseCommandCache(8040):  at com.parse.Task.access$400(Task.java:22)
E/ParseCommandCache(8040):  at com.parse.Task$7.then(Task.java:346)
E/ParseCommandCache(8040):  at com.parse.Task$7.then(Task.java:343)
E/ParseCommandCache(8040):  at com.parse.Task.runContinuations(Task.java:510)
E/ParseCommandCache(8040):  at com.parse.Task.access$800(Task.java:22)
E/ParseCommandCache(8040):  at com.parse.Task$TaskCompletionSource.trySetResult(Task.java:565)
E/ParseCommandCache(8040):  at com.parse.Task$TaskCompletionSource.setResult(Task.java:599)
E/ParseCommandCache(8040):  at com.parse.Task$11$1.then(Task.java:493)
E/ParseCommandCache(8040):  at com.parse.Task$11$1.then(Task.java:485)
E/ParseCommandCache(8040):  at com.parse.Task$10.run(Task.java:448)
E/ParseCommandCache(8040):  at com.parse.Task$ImmediateExecutor.execute(Task.java:673)
E/ParseCommandCache(8040):  at com.parse.Task.completeImmediately(Task.java:444)
E/ParseCommandCache(8040):  at com.parse.Task.continueWith(Task.java:318)
E/ParseCommandCache(8040):  at com.parse.Task.continueWith(Task.java:329)
E/ParseCommandCache(8040):  at com.parse.Task$11.run(Task.java:485)
E/ParseCommandCache(8040):  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
E/ParseCommandCache(8040):  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
E/ParseCommandCache(8040):  at java.lang.Thread.run(Thread.java:841)

似乎Parse DB中不存在Parse安装。。。
因此,我找到的一个解决方案是卸载/安装应用程序。

通过删除其文件强制解析重新初始化

public static void removeCurrentInstallation(Context context) {
    File filesDir = context.getDir("Parse", Context.MODE_PRIVATE);
    boolean exists = filesDir.exists();
    File[] files = filesDir.listFiles();
    if (exists && filesDir.length() > 0) {
        for (File file : files) {
            if (file.isFile())
                file.delete();
        }
    }
}
在应用程序类中使用它

    ParseInstallation.getCurrentInstallation().saveInBackground(new SaveCallback() {
        @Override
        public void done(ParseException e) {
            if (e == null) {
                Log.i("Parse", "Installation saved successfully");
            } else {
                Log.e("Parse", "Installation failed to save: " + e);
                if (e.getCode() == ParseException.OBJECT_NOT_FOUND) {
                    removeCurrentInstallation(getApplicationContext());
                }
            }
        }
    });

只需从您的设备或模拟器中删除应用程序并清理项目。然后再试一次。检查清单文件也应该很好。希望这有帮助。我遇到过同样的麻烦吗?你有什么办法吗?