0

我目前正在构建一个简单的 android 应用程序,将信息发送到 Azure 移动服务。我正在使用本教程的以下示例代码。

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 获取响应,该方法需要一段时间才能获取,并且 MobileServiceClient 已经完成了它的工作。我如何等待将我在 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 回答