// Parse InputStream to String
public static String parseWeather(InputStream is) throws IOException { 
ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
int   i = -1; 
while((i = is.read())!= -1){ 
baos.write(i); 

return baos.toString(); 
}
模拟器上不能上网,debug时第一句HttpResponse response = httpClient.execute(httpGet, localContent);就失败了。
在实机就不知道是不是这里出的错了。

解决方案 »

  1.   

    并且city不为空,我设置为Beijing,完整的url是http://www.google.com/ig/api?weather=Beijing
    是可以返回天气信息的
      

  2.   

    1. 模拟器默认可以联网,最好先保证模拟器能连接上网,通过模拟器测试比较方便。
    2. 真机上面测试,需要设置apn,将apn设置为cmnet,否则也是无法上网。
       setting->wireless & network->mobile network->access point name->press menu key->new apn->在name栏中填写cmnet,apn栏中填写cmnet->press menu key->save->select cmnet.
    3. 请在catch中加上e.printstack(),将错误信息打印出来,在logcat中过滤sys.err的log就可以看到具体是什么样的错误。
      

  3.   

    2. 真机上面测试,需要设置apn,将apn设置为cmnet,否则也是无法上网。
      setting->wireless & network->mobile network->access point name->press menu key->new apn->在name栏中填写cmnet,apn栏中填写cmnet->press menu key->save->select cmnet.我增加了一个name为cmnet,apn为cmnet的apn,但是不能选择为默认的
    原先有一个name为China-mobile,apn栏位cment的为默认选项,我把它的name改为cmnet后测试,还是返回NETWORK_ERROR现在公司没条件,晚上回家再在模拟器上联网测试
      

  4.   

    不好意思,刚才的输入有错。
    我增加了一个name为cmnet,apn为cmnet的apn,但是不能选择为默认的
    原先有一个name为China-mobile,apn栏为cmnet的为默认选项,我把它的name改为cmnet后测试,还是返回NETWORK_ERROR
      

  5.   

    打印一下exception,看下是哪边出错了?
      

  6.   

    还有就是检查一下 是否加了permission
      

  7.   

    模拟器默认设置就行了 , 加权限 ,然后直接HTTP连接就可以的了。
      

  8.   

    代码测试通过,代码本身没有问题。1. 设置了<uses-permission android:name="android.permission.INTERNET" />
    2. 我使用wifi上网
    3. 运行环境:android2.1 + 真机
      

  9.   

    如果你city传入正常,加入一下internet 权限在androidmanifest.xml中代码是<uses-permission android:name="android.permission.INTERNET" />当然你确定wifi或gprs开了,能打开百度,以及google这个域名当时没有被和谐还有就是你看下logcat报什么错误,没有必要乱猜的
      

  10.   


    你这个程序我也写过,贴出来的代码没有任何问题!
    可以参照上述方法看看有没有添加internet的权限进来!
      

  11.   

    顺便说下,有时候google提供的那个查询温度的xml的网站有时候是进不去的,可以先在浏览器里面确认下再做判断!
      

  12.   

    private static final String GOOGLE_API_URL = "http://www.google.com/ig/api?weather=";
    这句不对吧
    应该是private static final String WEBSERVICE_URL = "http://www.google.com/ig/api?weather=%s";加上s%
      

  13.   

    多谢,那就是我忘了加INTERNET权限。
    我用的真机是可以上网的。
      

  14.   

    如果有错误,用Logcat取个Log,大家可以分析下
      

  15.   

    多谢各位,就是因为没有增加权限的问题,加上
    <uses-permission android:name="android.permission.INTERNET" />
    就OK了。