黑马教程 netviewImage android 4.4之后的网络政策使之前的代码异常运行

量化分析 2014-01-06 03:50:41
我完全按照黑马教程的第四章 的 第一个例子 netviewImage 耗费了我一天的时间才发现 运行最后的图片都无法加载,因为4.4或则4.0,的安全策略,因为我最后运行在2.3的机器里面运行后 居然成功了,泪流满面。

以下是logcat输出, 有什么办法让程序能够在4.0以上运行。。。。。。

Logcat:

01-06 15:29:54.904: W/System.err(32144): android.os.NetworkOnMainThreadException
01-06 15:29:54.905: W/System.err(32144): at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1117)
01-06 15:29:54.905: W/System.err(32144): at java.net.InetAddress.lookupHostByName(InetAddress.java:385)
01-06 15:29:54.905: W/System.err(32144): at java.net.InetAddress.getAllByNameImpl(InetAddress.java:236)
01-06 15:29:54.905: W/System.err(32144): at java.net.InetAddress.getAllByName(InetAddress.java:214)
01-06 15:29:54.905: W/System.err(32144): at libcore.net.http.HttpConnection.<init>(HttpConnection.java:70)
01-06 15:29:54.905: W/System.err(32144): at libcore.net.http.HttpConnection.<init>(HttpConnection.java:50)
01-06 15:29:54.906: W/System.err(32144): at libcore.net.http.HttpConnection$Address.connect(HttpConnection.java:340)
01-06 15:29:54.906: W/System.err(32144): at libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:87)
01-06 15:29:54.906: W/System.err(32144): at libcore.net.http.HttpConnection.connect(HttpConnection.java:128)
01-06 15:29:54.906: W/System.err(32144): at libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:316)
01-06 15:29:54.907: W/System.err(32144): at libcore.net.http.HttpEngine.connect(HttpEngine.java:311)
01-06 15:29:54.907: W/System.err(32144): at libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:290)
01-06 15:29:54.907: W/System.err(32144): at libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:240)
01-06 15:29:54.907: W/System.err(32144): at libcore.net.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:282)
01-06 15:29:54.907: W/System.err(32144): at libcore.net.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:177)
01-06 15:29:54.908: W/System.err(32144): at com.example.netview_v4.MainActivity.getImage(MainActivity.java:80)
01-06 15:29:54.908: W/System.err(32144): at com.example.netview_v4.MainActivity.doris_last(MainActivity.java:55)
01-06 15:29:54.908: W/System.err(32144): at java.lang.reflect.Method.invokeNative(Native Method)
01-06 15:29:54.909: W/System.err(32144): at java.lang.reflect.Method.invoke(Method.java:511)
01-06 15:29:54.909: W/System.err(32144): at android.view.View$1.onClick(View.java:3594)
01-06 15:29:54.909: W/System.err(32144): at android.view.View.performClick(View.java:4204)
01-06 15:29:54.909: W/System.err(32144): at android.view.View$PerformClick.run(View.java:17355)
01-06 15:29:54.910: W/System.err(32144): at android.os.Handler.handleCallback(Handler.java:725)
01-06 15:29:54.910: W/System.err(32144): at android.os.Handler.dispatchMessage(Handler.java:92)
...全文
126 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
量化分析 2014-01-07
  • 打赏
  • 举报
回复
引用 2 楼 abcmsnet 的回复:
是的2.3里面可以直接在主线程里网路操作,但新版本开始这样操作是被禁止的
谢谢 正解!!!
  • 打赏
  • 举报
回复
是的2.3里面可以直接在主线程里网路操作,但新版本开始这样操作是被禁止的
呃_昵称 2014-01-06
  • 打赏
  • 举报
回复
网络操作不要写在主线程中,使用Thread和Handler进行网络相关的操作。

80,352

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧