Java 当进行Azure SQL查询时,Android应用程序崩溃

Java 当进行Azure SQL查询时,Android应用程序崩溃,java,android,sql-server,azure,azure-sql-database,Java,Android,Sql Server,Azure,Azure Sql Database,非常感谢您的帮助。我已经使用Microsoft Azure Mobile SDK for Android Studio为我的Android应用程序创建了一个后端。但是当我尝试使用查询从服务器获取数据时,应用程序挂起并崩溃。我的代码如下: //The variables private MobileServiceClient mClient; private MobileServiceTable<Item> table; //In onCreate method try {

非常感谢您的帮助。我已经使用Microsoft Azure Mobile SDK for Android Studio为我的Android应用程序创建了一个后端。但是当我尝试使用查询从服务器获取数据时,应用程序挂起并崩溃。我的代码如下:

//The variables
private MobileServiceClient mClient;
private MobileServiceTable<Item> table;

//In onCreate method
try {
    mClient = new MobileServiceClient("https://myapp.azurewebsites.net", this);
} catch (MalformedURLException e) {
    e.printStackTrace();
}
table = mClient.getTable("MyTable",Item.class);
try {
    final List<Item> result =  table.execute().get();//----App crashes here
} catch (MobileServiceException e) {
    e.printStackTrace();
}
//变量
私人移动服务客户机mClient;
私人移动服务表;
//在onCreate方法中
试一试{
mClient=新的MobileServiceClient(“https://myapp.azurewebsites.net",本),;
}捕获(格式错误){
e、 printStackTrace();
}
table=mClient.getTable(“MyTable”,Item.class);
试一试{
最终列表结果=table.execute().get();//----应用程序在此崩溃
}捕获(移动服务异常){
e、 printStackTrace();
}

@AnshaySaboo在Azure上有两个名为
Azure移动服务
(Azure经典门户上的旧服务)和
Azure移动应用
(Azure新门户上的新服务)。根据你的描述,我认不出你使用的是哪种服务。但是,基于构造函数,我认为您正在使用,而不是

我认为这个问题可能是在Azure新门户上创建移动应用程序服务时使用Android移动服务SDK造成的。因此,请检查您使用的后端服务和Android客户端使用的sdk,并确保后端和客户端的服务一致性

作为参考,这里有一些不同服务的资源

  • 从vs开始
  • 如何为vs使用Android客户端库
  • GitHub上的示例:vs

  • stacktrace怎么说?“挂起和崩溃”只包含零个详细信息。如果这是主线程,那么执行查询并获得这样的结果将导致NetworkOnMainThreadException。但是你没有发布堆栈跟踪,所以我猜。但一般来说,您不应该对异步任务执行get()。我希望他们删除该调用以阻止人们使用它。您可能会遇到NetworkOnMainThread异常。永远不要在主线程上运行网络任务。使用异步任务。您还应该在问题中弹出堆栈跟踪,以便我们可以看到错误。