我应该在哪里下载我在android中的数据

时间:2014-04-09 18:32:55

标签: android android-activity

我想从Web服务下载数据,实际上我第一次通过asynctask(后台线程)下载它并且我在Oncreate方法中执行它,这很好。

但是我也尝试在oncreate方法的ui线程中下载,所以我只是在oncreat方法中直接调用Httpclient,这个工作正常而且速度更快,当我按下时应用程序不会失败下载数据时的屏幕。

我认为第二种方法工作正常,因为应用程序在完成oncreate方法之前不会显示用户界面。 它是否正确 ?我应该使用第二种方法吗?

第一种方法:

    oncreate(bundle saveinstance){
new Task.execute("url");
}

第二种方法:

  oncreate (bundle saveinstance){
   makehttprequest("url")
}

非常感谢你

1 个答案:

答案 0 :(得分:0)

不,你不应该使用第二种方法。在较新版本的Android上,在UI线程中执行任何网络处理都会导致抛出异常。鉴于网络调用可以花费不确定的时间量,在UI线程上执行这些调用会产生无响应的UI,只要完成调用,就会打开一个空白屏幕。使用Async任务并显示进度条或闪屏,向用户显示您正在下载某些内容。