android 学习随笔八(异常处理总结)

1、在android 中开发java.net.SocketException: socket failed: EACCES (Permission denied) 报错

  • 第一反应就是缺少网络权限,然后赶紧检查有没有加入网络访问权限。

在androidmanifest文件中加入<uses-permission android:name=“android.permission.INTERNET”/>  

  • 用户禁用了你的app的访问网络的权限。注意是单一阻止了。所以根据系统来给你的应用程序开启联网的权限。

例如小米手机 的操作是:找到“安全中心”app,进入,然后看到“网络助手”,进入,然后点击“联网控制”,找到对应app,查看对应的“数据”和“WLAN”两个选项是否钩上了。
或者
java文件网络操作前,加入如下代码

StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder().detectDiskReads().detectDiskWrites().detectNetwork().penaltyLog().build());  

  • 可能网络操作的代码写在了UI线程里,从android 4.0以后就不允许这样操作了。因为在UI线程里进行网络操作,如果网络不好那么整个程序就容易ANR。所以android4.0以后对要网络操作的代码必须新开一个线程来做。
  • 权限要在<application>标签后面引入才能起作用
  • 网络权限要这样写<uses-permission android:name=“android.permission.INTERNET"/>  而不是这样写<permission  android:name=“android.permission.INTERNET"></permission

2、Failed to install .apk on device 'emulator-5554': timeout

打开试图:window->preferences->Android->DDMS

把ADB CONNECTION...的值5000改为50000.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值