sunwy 发表于 2015-4-1 01:10:25

如何解决android使用HttpUrlConnection抛出异常


这个问题困扰了我2天,一直在找代码错误,因为原本java就不是太熟悉。
最后居然是用此方法解决了问题!
不过我调试时HttpUrlConnection的getResponseCode()是-1.


在进行android开发的时候我们经常会连接远程的服务或者本地的服务器,从而获取数据资源,而使用HttpUrlConnection是我们一个很好地选择,但是有时候我们不是很会,这个时候如果我们在自己新建的Project借用或者模仿其他人的代码,而这个代码在人家工程运行是没有问题的,可是在自己的工程里却运行不了,或者得不到我们想要与人家一样的结果,这个时候我们就会很纳闷了,在这里小编会告诉大家一个自己摸索出来的办法,可以解决这个问题。


[*]可以看到上面的方法使用的是HttpUrlConnection得到的一个json的数据流,在下面的一个方法里是对这个数据流转换为一个String数据,而这个数据的就是json 的,在在对这个json数据进行解析,这就是程序的核心,其他的对json数据怎么解析以及怎么在Activity使用这个数据,小编在这里不在啰嗦了,不知道的可以在百度上搜一下。
http://a.hiphotos.baidu.com/exp/w=500/sign=af4774dc7e1ed21b79c92ee59d6fddae/aec379310a55b319c317675b40a98226cffc1735.jpg


[*]2
没有修改之前程序的AndroidManifest.xml配置文件的SDK版本信息是这样的,
http://e.hiphotos.baidu.com/exp/w=500/sign=65a97d2a5a82b2b7a79f39c401accb0a/95eef01f3a292df52413493bbf315c6035a873c8.jpg


[*]3
调试程序可以发现运行到if(conn.getResponseCode() == 200)这段代码的时候就会抛出异常,因为getResponseCode()返回值是0,也就是没有连接成功。
http://f.hiphotos.baidu.com/exp/w=500/sign=140563e35166d0167e199e28a72ad498/8b82b9014a90f6035e537c693a12b31bb051ed39.jpg


[*]4
修改程序的AndroidManifest.xml配置文件的SDK版本信息后是这样的,如图。设置最低版本为8,最高版本不超过9,即可。
http://d.hiphotos.baidu.com/exp/w=500/sign=b7a9473d94dda144da096cb282b6d009/f2deb48f8c5494ee4b61ec372ef5e0fe99257e59.jpg

END



注意事项
[*]新建android项目的时候最低版本最好选API 8:Android 2.2

[*]参考他人的代码时候,出现了问题,最好能看到整个项目的代码,再做研究,才能更容易找到问题所在



页: [1]
查看完整版本: 如何解决android使用HttpUrlConnection抛出异常