0

私は現在、Azure モバイル サービスに情報を送信する単純な Android アプリを構築しています。以下のチュートリアルのサンプルコードを使用しています。

mSClient = new MobileServiceClient(URL, KEY, context);
mSClient = getMSClient();
mSClient.getTable(MyClass.class).insert(form, new TableOperationCallback<MyClass>() {
   public void onCompleted(MyClass entity, Exception exception, ServiceFilterResponse response) {
                   if (exception != null) {                       
                      Log.e("MSG", exception.getLocalizedMessage());                       
                  }                    
                 if (response != null) {                      
                    Log.e("MSG", response.getContent());                   
               }
          }                
     });

さて、onComplete メソッドで ServiceFilterResponse から応答を取得するにはどうすればよいですか。sqlite で自分の情報が送信済みであることを示すフラグを待つにはどうすればよいですか?

4

1 に答える 1

1

コールバックが呼び出されると、挿入操作がサーバー側ですでに終了していることを意味します。「挿入」リクエスト (基本的には HTTP POST リクエスト) を送信してから操作が完了するまでの間にフラグを立てたい場合は、次のようにします。

mSClient = new MobileServiceClient(URL, KEY, context);
mSClient = getMSClient();
mSClient.getTable(MyClass.class).insert(form, new TableOperationCallback<MyClass>() {
   public void onCompleted(MyClass entity, Exception exception, ServiceFilterResponse response) {
      if (exception != null) {                       
         // here: tell sqlite that the insert request failed
         Log.e("MSG", exception.getLocalizedMessage());                       
      } else {
         // here: tell sqlite that the insert request succeeded
         Log.e("MSG", response.getContent());
      }
   }                
});
// here: tell sqlite that the insert request was sent
于 2013-10-10T18:03:16.707 に答える