ParseObject在本地保存。错误:无法编码未保存的解析文件

时间:2018-04-09 19:51:52

标签: android parse-platform back4app

我需要使用ParseFile保存ParseObject,但需要在本地保存。方法pinInBackground给出错误:"无法编码未保存的解析文件"

       I can not call file.saveInBackground. Because I need to use offline mode.
       So what should I do?

        //get bitmap
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        mBitmap.compress(Bitmap.CompressFormat.JPEG, 50, baos);

        byte[] data = baos.toByteArray();
        Random random = new Random();

        //create parse File
        final ParseFile file = new ParseFile(random.nextInt(10000) + ".jpeg", data);

        parseObject.put(KEY_IMAGE, file);
        parseObject.pinInBackground(new SaveCallback() {
            @Override
            public void done(ParseException e) {
                //do some action
            }
        });

1 个答案:

答案 0 :(得分:1)

让我为所有这些创造一个答案。

该错误确实告诉您应用程序出了什么问题。你不能固定不存在的东西。解析引脚对象....你从未创建过一个对象(还)。因此,您无法固定未保存的对象。

你可以做两件事。

1)如果没有互联网连接,请向用户显示该消息并告诉他们。一旦他们恢复,他们可以再试一次。

2)使用saveEventually。一旦互联网点击设备,这将保存对象,然后完成后,您可以固定它。问题是,如果对象不存在而用户想要看到它,他们就不能。

如果是我,我会使用选项1.如果您要求用户输入文件,则需要某种连接。