我有很好的天蓝色移动应用程序背景,但不是在android方面。
并且还完成了java初学者。
今天,我正在尝试使用本地运行的azure移动应用程序。
它有一个带有简单todotable的表控制器,带有一列“Name”
这是我的代码。
public class TodoItem {
private String Id;
private String Name;
}
private void CreateMobileAppClient() {
String mobileAppUrl="http://localhost:58441/";
try {
mobileServiceClient = new MobileServiceClient(new URL(mobileAppUrl), this);
} catch(IOException e){
throw new RuntimeException(e);
}
}
private void GetData() {
MobileServiceTable<TodoItem> mTable=mobileServiceClient.getTable(TodoItem.class);
try {
List<TodoItem> results = mTable.execute().get(100, TimeUnit.MILLISECONDS);
Log.d("debug","data success");
String str="";
} catch(Exception e) {
}
}
在调试过程中一切正常,直到我进入execute().get()
方法。
此时我的应用程序完全冻结,既没有进入阻止块,也没有进入下一行。
我也没有在日志和消息中看到太多。
我认为问题与此类似 App not retrieving data from Azure mobile service table
任何帮助都会有用。
(P.S:蔚蓝一侧的桌面控制器,与小提琴手完美配合,所以没有问题。)
答案 0 :(得分:3)
尝试使用:
MobileServiceList<TodoItem> results = mTable.execute().get(100, TimeUnit.MILLISECONDS);
此外,您应该在AsyncTask
。
private void GetData()
{
MobileServiceTable<TodoItem> mTable = mobileServiceClient.getTable(TodoItem.class);
MobileServiceList<TodoItem> results;
new AsyncTask<Void, Void, Void>() {
@Override
protected Void doInBackground(Void... params) {
try {
results = mTable.execute().get(100, TimeUnit.MILLISECONDS);
Log.d("debug","data success");
}
catch(Exception e)
{
}
return null;
}
}.execute
}