2012-03-18 23 views
0

我正在使用App Engine連接Android插件支持並自定義Google I/O中顯示的示例項目。成功地運行它。我從Android設備到雲端成功地使用代碼編寫了一些任務。使用Android的Google App-Engine中的RPC proxyclass編寫多次(Enities)

CloudTasksRequestFactory factory = (CloudTasksRequestFactory) Util 
             .getRequestFactory(CloudTasksActivity.this, 
               CloudTasksRequestFactory.class); 
           TaskRequest request = factory.taskRequest(); 

          TaskProxy task = request.create(TaskProxy.class); 
          task.setName(taskName); 
          task.setNote(taskDetails); 
          task.setDueDate(dueDate); 

          request.updateTask(task).fire(); 

這很好,我測試了。

我現在想要的是我有一個數組String[][] addArrayServer並希望將其所有元素寫入服務器。我正在使用的方法是:

NoteSyncDemoRequestFactory factory = Util.getRequestFactory(activity,NoteSyncDemoRequestFactory.class); 
     NoteSyncDemoRequest request = factory.taskRequest(); 

     TaskProxy task; 
     for(int ik=0;ik<addArrayServer.length;ik++) { 
      task = request.create(TaskProxy.class); 



      Log.d(TAG,"inside uploading task:"+ik+":"+addArrayServer[ik][1]); 
      task.setTitle(addArrayServer[ik][1]); 
      task.setNote(addArrayServer[ik][2]); 
      task.setCreatedDate(addArrayServer[ik][3]); 


      // made one task 

      request.updateTask(task).fire(); 
     } 

肯定會上傳一個任務,即數組的第一個元素。但在創建任務的新實例時會掛起。我對Google-Appengine來說很新。什麼是正確的方式來調用RPC,上傳多個實體真的很快?

謝謝。

回答

0

這個問題的答案是request.fire()只能被調用一次,但我每次都在循環中調用它。所以它只會更新一次。簡單的解決方案是在循環外調用fire()。

NoteSyncDemoRequestFactory factory = Util.getRequestFactory(activity,NoteSyncDemoRequestFactory.class); NoteSyncDemoRequest request = factory.taskRequest();

TaskProxy task; 
    for(int ik=0;ik<addArrayServer.length;ik++) { 
     task = request.create(TaskProxy.class); 



     Log.d(TAG,"inside uploading task:"+ik+":"+addArrayServer[ik][1]); 
     task.setTitle(addArrayServer[ik][1]); 
     task.setNote(addArrayServer[ik][2]); 
     task.setCreatedDate(addArrayServer[ik][3]); 


     // made one task 

     request.updateTask(task); 
    } 
request.fire(); //call fire only once after all the actions are done... 

欲瞭解更多信息請查看這個問題.. GWT RequestFactory and multiple requests

相關問題