为什么我的Android应用程序因openstream()而崩溃?

时间:2012-03-07 14:58:23

标签: android url

我只想使用google weather api

mButton.setOnClickListener(new OnClickListener() {

    public void onClick(View v) {   // TODO Auto-generated method stub
        try {
        InputStream is = new URL("http://www.baidu.com").openStream();
        } catch (MalformedURLException e) {
        // TODO Auto-generated catch block  e.printStackTrace();
        } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        }

}

我不知道为什么这些代码会导致崩溃。它应该在Java中正确吗?请帮帮我

我的设备是谷歌Nexus S,我也试过在AVD上工作,它也被粉碎了

2 个答案:

答案 0 :(得分:1)

它可能会崩溃,因为你在UI线程上做网络工作。

将工作放在AsyncTask或Thread中,它应该可以工作。

答案 1 :(得分:1)

我也有同样的问题。但现在,i have been solved this problem by reference 关于线程使用。

您需要创建一个工作线程来打开URL流而不是使用主线程(UI线程)。