Android Azure连接成功,我在执行CRUD时得到了正确的JSON结果,但没有响应,没有错误消息并停止工作
我正在使用Azure移动服务开发Android应用程序,Android Azure连接成功,我在执行CRUD时得到了正确的JSON结果,但没有响应,没有错误消息并停止工作,android,asp.net,azure,azure-mobile-services,azure-android-sdk,Android,Asp.net,Azure,Azure Mobile Services,Azure Android Sdk,我正在使用Azure移动服务开发Android应用程序, 我已成功设置连接, 并确保到后端的操作将正确的JSON发送回 但是当我打电话的时候 myUserTable.execute().get(); 首先,我在日志中得到一个响应,其中包含ServiceFilter提供的内容正确的JSON 但此后它停止工作,没有任何错误消息和异常 它只是停止进一步的工作 请参阅下面我的代码: 对于积垢操作功能: private void initiate() { AsyncTask<Void, V
我已成功设置连接,
并确保到后端的操作将正确的JSON发送回
但是当我打电话的时候
myUserTable.execute().get();
首先,我在日志中得到一个响应,其中包含ServiceFilter提供的内容正确的JSON
但此后它停止工作,没有任何错误消息和异常
它只是停止进一步的工作
请参阅下面我的代码:
对于积垢操作功能:
private void initiate() {
AsyncTask<Void, Void, Void> task = new AsyncTask<Void, Void, Void>(){
@Override
protected Void doInBackground(Void... params) {
try {
runOnUiThread(new Runnable() {
@Override
public void run() {
try{
Link_Azure azure = null;
Log.d("myLog","Start Binding database");
azure = Link_Azure.bindWithMainActivity(MainActivity.this);
List<User> us= azure.loadUserFromTable();
Log.d("myLog","User id : "+us.size());
}catch(MalformedURLException | MobileServiceException | InterruptedException | ExecutionException err){
err.printStackTrace();
}
}
});
} catch (final Exception e) {
e.printStackTrace();
}
return null;
}
};
runAsyncTask(task);
}
用于查询操作
public List<User> loadUserFromTable() throws ExecutionException, InterruptedException, MobileServiceException {
return mUserManager.execute().get();
}
我已经解决了我的问题, 关键是,MobileServiceTable上的操作 必须在非UI线程上运行 这意味着
public List<User> loadUserFromTable() throws ExecutionException, InterruptedException, MobileServiceException {
return mUserManager.execute().get();
public List loadUserFromTable()引发ExecutionException、InterruptedException、MobileServiceException{
返回mUserManager.execute().get();
}
是错误的,我应该创建另一个线程来执行请求。如果您执行Fiddler或Postman请求,它会产生正确的结果吗?如果在详细级别打开诊断日志记录,然后使用日志流,是否会产生任何错误?是的,在Postman上似乎是正确的,我使用它来删除和查询,结果与Android ORZ上显示的一样正确。。。我查看了详细日志,最后是行内容JSON响应(我已经更新了我的问题),谢谢。
03-08 07:25:46.467 9662-9662/com.example.androidwork.foodsharing W/art: Verification of void com.microsoft.windowsazure.mobileservices.table.sync.MobileServiceSyncContext.processOperation(com.microsoft.windowsazure.mobileservices.table.sync.operations.TableOperation, com.google.gson.JsonObject) took 218.338ms
03-08 07:25:46.542 9662-9756/com.example.androidwork.foodsharing W/ResourcesManager: Asset path '/system/framework/com.android.media.remotedisplay.jar' does not exist or contains no resources.
03-08 07:25:46.542 9662-9756/com.example.androidwork.foodsharing W/ResourcesManager: Asset path '/system/framework/com.android.location.provider.jar' does not exist or contains no resources.
03-08 07:25:47.227 9662-9759/com.example.androidwork.foodsharing D/myLog: [{"deleted":false,"updatedAt":"2017-03-06T15:13:47.927Z","createdAt":"2017-03-05T10:52:24.031Z","version":"AAAAAAAAC78=","id":"32C63DBF-F531-4ED9-ABF2-D83919C5F7E7","password":"123","account":"1235","email":null,"phone":null,"live":null,"age":15,"name":"水球潘管理員"}]
public List<User> loadUserFromTable() throws ExecutionException, InterruptedException, MobileServiceException {
return mUserManager.execute().get();