解决方案 »

  1.   

    你可以试试用我这个function... get method  的。。public static  String getTextContent( String urlpath,String encoding) throws Exception {
     //可以看到,getTextContent接收到了目前还处于字符串形似的path,和编码。
     //将字符串形式的path,转换成一个url
     URL url = new URL(urlpath);
     //得到url之后,将要开始连接网络,以为是连接网络的具体代码
     //首先,实例化一个HTTP连接对象conn
     HttpURLConnection conn = (HttpURLConnection)url.openConnection();
     //定义请求方式为GET,其中GET的大小写不要搞错了。
     conn.setRequestMethod("GET");
     //定义请求时间,在ANDROID中最好是不好超过10秒。否则将被系统回收。
     conn.setConnectTimeout(6*1000);
     //请求成功之后,服务器会返回一个响应码。如果是GET方式请求,服务器返回的响应码是200,post请求服务器返回的响应码是206(貌似)。
     if(conn.getResponseCode()== 200){
     //返回码为真
     //从服务器传递过来数据,是一个输入的动作。定义一个输入流,获取从服务器返回的数据
     InputStream inStream = conn.getInputStream();
     //得到输入流的数据之后,调用readStream方法对输入流进行处理。返回的一个字节数组。
     //按ctrl进入readStream方法,看看readStream是怎么处理的
     byte[] data = readStream(inStream);
     //得到返回值。那么readStream主要做了些什么?readStream主要处理了将服务器返回的数据写到内存这个工作,也就是保存到了本地(我觉得)。
     //以字符串形式的返回。String(data,encoding)是个知识点。
    return new String(data,encoding);
     }
     return null;
     }  /**
     * 获取URL路径指定的网页代码·
     * @param urlpath URL路径
     * @throws Exception
     */
     public static  InputStream getContent( String urlpath,String encoding) throws Exception {
     URL url = new URL(urlpath);
     //实例化一个HTTP连接对象conn
     HttpURLConnection conn = (HttpURLConnection)url.openConnection();
     //定义请求方式为GET,其中GET的格式需要注意
     conn.setRequestMethod("GET");
     //定义请求时间,在ANDROID中最好是不好超过10秒。否则将被系统回收。
     conn.setConnectTimeout(6*1000);
     if(conn.getResponseCode()== 200){
    return conn.getInputStream();
     }
     return null;
     }
      

  2.   


    实现机制和我差不多,但是现在还是连接不起来,is是null,我怀疑会不会是url错了,所以连接建立失败,但是为什么浏览器中又可以打开呢.......
      

  3.   

    1、需要调用connet方法,有些手机如果不调用connect方法,在getInputStream()时会异常
    2、设置数据压缩方式为不要压缩,系统默认会使用gzip压缩,好像低版本的使用gzip压缩有bug,会接受数据不全。设置不要压缩的方式,请参考sdk文档
      

  4.   

    我后来调用了connect(),而且url调整为10.0.2.2,在AVD里面的浏览器可以看到要传进去的xml文件,但是应用里面还是读不进去
      

  5.   

    先确定是否读入xml,然后需要解析xml啊
      

  6.   


    实现机制和我差不多,但是现在还是连接不起来,is是null,我怀疑会不会是url错了,所以连接建立失败,但是为什么浏览器中又可以打开呢.......1.仔细检查下你传给服务器的参数是否正确,最好抓个网络包看看里面的内容  2.http请求放在线程中
      

  7.   

    这个问题我也刚才碰到,找了1早上最后才发现,这都是android代码不规范引发的错误,你代码写的没错只要在asyncTask线程中运行就OK了.
    在 android 3.0中,主线程的网络连接是不允许的。
    StrictMode会自动打开。在 android 4.0也是一样的。
    要修复这些问题,你必须在一个单独的线程中执行网络连接。例如,使用一个AsyncTask。