• 搭配秀App开发中遇到的问题--笔记


    从网上下载了个Demo,导进项目运行正常,自己写了一个一直报下面的这个错误!搜了一个很多人说:

    11-04 15:33:45.810: E/AndroidRuntime(25140): FATAL EXCEPTION: main
    11-04 15:33:45.810: E/AndroidRuntime(25140): java.lang.SecurityException: Permission denied (missing INTERNET permission?)
    11-04 15:33:45.810: E/AndroidRuntime(25140): at java.net.InetAddress.lookupHostByName(InetAddress.java:418)
    11-04 15:33:45.810: E/AndroidRuntime(25140): at java.net.InetAddress.getAllByNameImpl(InetAddress.java:236)
    11-04 15:33:45.810: E/AndroidRuntime(25140): at java.net.InetAddress.getAllByName(InetAddress.java:214)
    11-04 15:33:45.810: E/AndroidRuntime(25140): at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:137)
    11-04 15:33:45.810: E/AndroidRuntime(25140): at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
    11-04 15:33:45.810: E/AndroidRuntime(25140): at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
    11-04 15:33:45.810: E/AndroidRuntime(25140): at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:360)
    11-04 15:33:45.810: E/AndroidRuntime(25140): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
    11-04 15:33:45.810: E/AndroidRuntime(25140): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
    11-04 15:33:45.810: E/AndroidRuntime(25140): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
    11-04 15:33:45.810: E/AndroidRuntime(25140): at com.example.httpclienttest.MainActivity$2.onClick(MainActivity.java:62)
    11-04 15:33:45.810: E/AndroidRuntime(25140): at android.view.View.performClick(View.java:4240)
    11-04 15:33:45.810: E/AndroidRuntime(25140): at android.view.View$PerformClick.run(View.java:17721)
    11-04 15:33:45.810: E/AndroidRuntime(25140): at android.os.Handler.handleCallback(Handler.java:730)
    11-04 15:33:45.810: E/AndroidRuntime(25140): at android.os.Handler.dispatchMessage(Handler.java:92)
    11-04 15:33:45.810: E/AndroidRuntime(25140): at android.os.Looper.loop(Looper.java:137)
    11-04 15:33:45.810: E/AndroidRuntime(25140): at android.app.ActivityThread.main(ActivityThread.java:5103)
    11-04 15:33:45.810: E/AndroidRuntime(25140): at java.lang.reflect.Method.invokeNative(Native Method)
    11-04 15:33:45.810: E/AndroidRuntime(25140): at java.lang.reflect.Method.invoke(Method.java:525)
    11-04 15:33:45.810: E/AndroidRuntime(25140): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
    11-04 15:33:45.810: E/AndroidRuntime(25140): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
    11-04 15:33:45.810: E/AndroidRuntime(25140): at dalvik.system.NativeStart.main(Native Method)
    11-04 15:33:45.810: E/AndroidRuntime(25140): Caused by: libcore.io.GaiException: getaddrinfo failed: EAI_NODATA (No address associated with hostname)
    11-04 15:33:45.810: E/AndroidRuntime(25140): at libcore.io.Posix.getaddrinfo(Native Method)
    11-04 15:33:45.810: E/AndroidRuntime(25140): at libcore.io.ForwardingOs.getaddrinfo(ForwardingOs.java:61)
    11-04 15:33:45.810: E/AndroidRuntime(25140): at java.net.InetAddress.lookupHostByName(InetAddress.java:405)
    11-04 15:33:45.810: E/AndroidRuntime(25140): ... 21 more
    11-04 15:33:45.810: E/AndroidRuntime(25140): Caused by: libcore.io.ErrnoException: getaddrinfo failed: EACCES (Permission denied)
    11-04 15:33:45.810: E/AndroidRuntime(25140): ... 24 more

    在android 2.3上设计的下载程序,在android 4.0上运行时报android.os.NetworkOnMainThreadException异常,原来在4.0中,访问网络不能在主程序中进行,有两个方法可以解决,一个是在主程序中增加:(来至:http://blog.csdn.net/luckyjda/article/details/8900211)。

     我的解决方法是在项目中的AndroidManifest.xml文件的 </application>下面

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

    然后在setContentView(R.layout.activity_main);下面

    添加

    StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
    .detectDiskReads().detectDiskWrites().detectNetwork()
    .penaltyLog().build());
    StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
    .detectLeakedSqlLiteObjects().detectLeakedClosableObjects()
    .penaltyLog().penaltyDeath().build());

    再次运行OK;

  • 相关阅读:
    无法识别的属性“targetFramework”的解决方法
    你所不知道的SQL Server数据库启动过程,以及启动不起来的各种问题的分析及解决技巧(转)
    win7系统如何安装SQL Server 2005
    2017年需要知道的技术
    平时对Vue的总结
    用rem实现h5页面的编写
    判断页面是横屏还是竖屏
    页面中插入视频兼容ie8以上的浏览器
    jquery实现加载更多效果
    联动选择通过ajax获取选择对应的数据
  • 原文地址:https://www.cnblogs.com/szlwork/p/3406667.html
Copyright © 2020-2023  润新知