1

parse でアイテムを作成するときに id を割り当てることは可能でしょうか?

ParseObject parseWord = new ParseObject(DataBaseHelper.TABLE_WORD);
            parseWord.setObjectId(idRow);
            parseWord.put(Word.NAME, word.getName());
            parseWord.put(Word.TYPE, word.getType());
            parseWord.put(Word.TRANSLATE, word.getTranslate());
            parseWord.put(Word.EXAMPLE, word.getExample());
            parseWord.put(Word.NOTE, word.getNote());
            parseWord.put(Word.SYNC_AT, today);
            parseWord.saveInBackground();

このコードは機能していません。アイテムをサーバーに保存しません。setObjectId(idRow); を削除すると できます。私は何を間違っていますか?.

saveInBackground がいつ完了したかを知る方法はありますか?

ありがとう

4

1 に答える 1

1

ParseObject.setObjectID() API doc によると:

オブジェクト ID のセッター。通常、これを使用する必要はありません。ただし、場合によっては、これが便利な場合があります。たとえば、ParseObject を自分でシリアライズして再作成したい場合、これを使用して ParseObject を正確に再作成できます。

APIドキュメントからも:

オブジェクト ID は、オブジェクトがサーバーに保存されるとすぐに割り当てられます。

引用が示唆するように、オブジェクト ID を設定する必要があるかもしれない理由は、解析オブジェクトのフィールドをファイルに保存するようなことをしたい場合です。ファイルからフィールドを取得して解析オブジェクトを再作成する場合は、それを設定する必要があります。これは、サーバーに保存せず、オブジェクトのインスタンスを使用するだけの場合は行われないためです。アプリケーション内部の目的。

于 2013-11-04T20:14:48.577 に答える