本来想好好写一篇关于使用AsycnTask异步任务的学习总结的时候,本来大致都快写完了

但是最后面却出现了问题,ImageView控件无法获取解析获得的网络图片

 

一开始以为是URL的问题,但是经过测试在浏览器打的开,所以排除了这个问题

后来怀疑是否我没有在AndroidManifest.xml中加入访问网络的权限,经过再三确认,也不是权限的问题

 

<uses-permission android:name="android.permission.INTERNET" />

 

同时我发现logcat里面既没有报错误,也没有报异常,这就很尴尬了,当我以为学习AsycnTask异步任务正入高潮的时候竟然遇到了一个这样的问题

这也太打击我的信心了吧,然后我就开启了DegBug模式,发现

 

URL myurl = new URL(url);
connection=myurl.openConnection();
connection.connect();
is=connection.getInputStream();

第四句的时候会被我的Try catch捕获到IO异常,但是不知道为什么不报,所以我就在捕获异常把异常加入Log,看看究竟是怎么回事

 

 

catch (IOException e) {
				Log.i("info", "IOException:"+e.toString());
				e.printStackTrace();
			}

终于,异常出来了。竟然是无法解析这个地址,这就郁闷啦,我明明就在浏览器测试过,也确定过没有权限问题
IOException:java.net.UnknownHostException: Unable to resolve host "image.sinajs.cn": No address associated with hostname

 

然后我就根据这个异常百度、谷歌

结果发现很多答案,什么DNS、权限各种等等

比如这个博客的总结

这只是其中之一

但是他们都没有解决我的问题,所以在我决定不理会了,趁着放假出去浪几天。

当然,在那个时候,我就想如果当我解决了这个问题的时候,我一定要写一篇博客,记录下来,所以你们就看到了这个博文啦

最后面,还是解决了这个问题,只是有一点点的小无语

问题竟然是我的genymotion安卓虚拟机无法上网

,我之前竟然没有测试过这个问题,真的,很尴尬。

现在我们就来解决,首先打开android虚拟机,打开设置,点击wlan,再点击wiredSSD,让它连接到网络

Android distributionUrl 时很慢_android

然后你再运行安卓工程。你就会发现

这个困扰了快一天的问题已经解决了

,网络图片完美显示~~