解决方案 »
- 能不能帮我看看这段代码,编译完成都没有报错,但手机上一旦运行就会强行退出,不知道怎么回事。刚刚学求指导。
- android上拉加载更多,下面的链接是要加载的数据json
- 一个关于handler的问题
- 关于context
- 拖屏以及背景移动的实现
- 初学者问题error: Error: No resource found that matches the given name (at 'id' with v
- 怎么分享内容到微信朋友圈的代码
- 关于android socket 客户端 与服务器通讯!
- android网络图片适配不同分辨率屏幕
- Android使用POI导出Excel出错
- android怎么实现点读啊
- Force stopping package com.android.cts.stub appid=10100 user=-1
//可以看到,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;
}
实现机制和我差不多,但是现在还是连接不起来,is是null,我怀疑会不会是url错了,所以连接建立失败,但是为什么浏览器中又可以打开呢.......
2、设置数据压缩方式为不要压缩,系统默认会使用gzip压缩,好像低版本的使用gzip压缩有bug,会接受数据不全。设置不要压缩的方式,请参考sdk文档
实现机制和我差不多,但是现在还是连接不起来,is是null,我怀疑会不会是url错了,所以连接建立失败,但是为什么浏览器中又可以打开呢.......1.仔细检查下你传给服务器的参数是否正确,最好抓个网络包看看里面的内容 2.http请求放在线程中
在 android 3.0中,主线程的网络连接是不允许的。
StrictMode会自动打开。在 android 4.0也是一样的。
要修复这些问题,你必须在一个单独的线程中执行网络连接。例如,使用一个AsyncTask。