部分アップデート(更新チェックなし)

クライアントから送信されたキーと値のペアと、サーバー上の既存のキーと値のペアをサーバー上でマージして更新する方法です。変更の差分だけをキーと値のペアとしてクライアント側で用意して、サーバーに送信します。なお、サーバー側のキーそのものはこの方法で削除できません。

更新の際、サーバー上で他のクライアントから更新があったかどうかはチェックせずにそのまま上書きします。

更新のコード例を以下に挙げます。

  • // Instantiate a KiiObject.
    Uri objUri = Uri.parse("Set the URI of an existing KiiObject here");
    KiiObject object = KiiObject.createByUri(objUri);
    
    try {
      // Update key-value pairs.
      object.set("myid", 1);
      object.set("name", "John Doe Jr");
      object.set("email", "john_jr@example.com");
    
      // Save and partially update the KiiObject.
      // This method appends the key-value pairs generated locally
      // to the KiiObject on the server.
      object.save();
    } catch (AppException e) {
      // Handle the error.
    } catch (IOException e) {
      // Handle the error.
    }
  • // Instantiate a KiiObject.
    Uri objUri = Uri.parse("Set the URI of an existing KiiObject here");
    KiiObject object = KiiObject.createByUri(objUri);
    
    // Update key-value pairs.
    object.set("myid", 1);
    object.set("name", "John Doe Jr");
    object.set("email", "john_jr@example.com");
    
    // Save and partially update the KiiObject.
    // This method appends the key-value pairs generated locally
    // to the KiiObject on the server.
    object.save(new KiiObjectCallBack() {
      @Override
      public void onSaveCompleted(int token, KiiObject object, Exception exception) {
        if (exception != null) {
          // Handle the error.
          return;
        }
      }
    });

ここでは以下の処理を行っています。

  1. 更新対象の KiiObject を用意します。ここでは、URI からの生成によって、既存の KiiObject を作成しています。コード上の URI は、事前に取得しておいたものに置き換えてください。
  2. 更新内容の差分をキーと値のペアとして設定します。
  3. save() メソッドにより更新します。上記のコードでは、更新チェックを行わないため、そのまま強制的に上書きします。

部分アップデートでは、通常 refresh は不要です。事前に refresh() メソッドを実行すると、クライアント側にはサーバーのすべてのキーと値のペアが取得されるため、フルアップデートと同様の結果になります。

部分アップデートで remove() メソッドを使ってキーと値のペアを削除しても、サーバー側とのマージが行われるため、結果としてそのキーは消えません。キーと値のペアを消すには、フルアップデートを実行してください。