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.

3、Eclipse导入Android工程报错 Invalid project description

解决方法大致归为三条:

第一:更换目录,这是最简单的,就是把所要导入的项目放到其他非工程目录文件夹下

第二:修改项目文件夹下的.project文件,里面有一个name标签,使标签名和项目文件夹名相同,此方法经过我的理解和测试,貌似不行,因为我的项目名和文件中的标签名相同,却还是会报这个错误,不过网上有很多人说按照此方法搞定了

第三:更换导入步骤。一般情况下,我们导入项目的方式是import--android--existing Android code into workspace,其实这是最常用的导入方式,但遇到这样的错误后,我们可以更换为:import-->general-->existing projects into workspace,这样即可成功导入

4、安卓开发中Theme.AppCompat.Light的解决方法

在Eclipse中打开任意一个.java文件,输入 android.R.style. 这时你会看到一个提示列表,仔细看看,再对比一下,看哪个与原有的最接近就选择哪个。用将下划线替换成"."就可了。

<style name="AppBaseTheme" parent="Theme.AppCompat.Light">
改为
<style name="AppBaseTheme" parent="android:Theme.Light">
同理,将
<style name="AppBaseTheme" parent="Theme.AppCompat.Light.DarkActionBar">
改为
<style name="AppBaseTheme" parent="android:Theme.Holo.Light.DarkActionBar">

后来发现这个是eclipse的bug,如果你引用的库和你的代码不在一个盘符,就有此异常。
如果代码在E盘,appCompact的库在D盘,我从新将其移动到E盘就ok。

5、No resource identifier found for attribute 'showAsAction' in package 'android'

showAsAction was added in API level 11要将API提升到11,添加 "android-support-v7-appcompat.jar" 到Android库

检查库引用

 6、android工程gen目录无法生成的解决办法汇总

  • 首先说一下gen目录的用处:Android gen目录下的R.Java并不是由用户创建了,而是android工程本身将android的资源进行自动“编号”(ID)值。
  • 引起gen目录下的R文件无法更新的原因有如下几个:

(1)、res目录下的layout下的xml文件名有错。按照android的命名规范是:[a-z0-9_.] 这里要看清楚了,是不能大写开头的!导致xml无法被正确解析。

res\drawable\selector_PopUp.xml: Invalid file name: must contain only [a-z0-9_.]

(2)、layout下的xml文件里面的存在非法字符,一般在eclipse下会进行提示,如果发现有打X的情形,就需要进行修改。特别要注意是半角符号和全角符号,这个错误很隐蔽,大家要小心。还有要符合xml的书写规范。

(3)、layout下的xml文件里,控件的ID值命名有重复。这个错误很隐蔽,大家要仔细检查。因为eclipse本身并不会报错。

  • 解决方法:

如果上述的原因都找了,这个时候gen目录下的R依然出错,对android工程进行refresh一下,看R文件是否已经更新。

还可以将project ->Build Automatically尽心勾选,让eclipse帮你进行自动更新。如果再不行的话,就尝试进行clean一下,看是否会正常得自动生成。

如果上述的原因都找了,但是源代码依然有错,这个使用你看一下,import android.R 这个包是否被引入了,如果被包含了,请将这个包去掉,否则错误无法解除。

当DATA为中文,不编码,传到服务器为乱码

public void getAutoCompleteInfo(String data, SingleServiceState listener) {
try {
this.listener = listener;
String s = URLEncoder.encode(data, "utf-8");
String url = URL.AUTO_COMPLETE + "?data=" + s + "&types=3,4,5";
QueueHelpter.add(NetHelper.get(url, JsonArray.class, this));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}

android 学习随笔八(异常处理总结)的更多相关文章

  1. Android学习随笔--ListView的分页功能

    第一次写博客,可能格式,排版什么的会非常不美观,不过我主要是为了记录自己的Android学习之路,为了以后能有些东西回顾.既然是为了学习,那我肯定会吸收各位大大们的知道经验,有不足的地方请指出. 通过 ...

  2. android 项目学习随笔八(xUtils的BitmapUtils模块)

    xUtils的BitmapUtils模块: 加载bitmap的时候无需考虑bitmap加载过程中出现的oom和android容器快速滑动时候出现的图片错位等现象: 支持加载网络图片和本地图片: 内存管 ...

  3. android 学习随笔二十八(应用小知识点小结 )

    去掉标题栏的方法 第一种:也一般入门的时候经常使用的一种方法requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉标题栏注意这句一定要写在setConte ...

  4. android 学习随笔十八(广播与服务 )

    1.广播接收者注册 清单文件注册(Android四大组件都要在清单文件中注册) 一旦应用部署,广播接收者就生效了,直到用户手动停止应用或者应用被删除 广播接收者可以使用代码注册 需要广播接收者运行时, ...

  5. android 学习随笔六(网络要求及配置)

    android在4.0之后已经不允许在主线程执行http请求了. 主线程阻塞,应用会停止刷新界面,停止响应用户任何操作,耗时操作不要写在主线程   只有主线程才能修改UI ANR异常:Applicat ...

  6. Android学习第八弹之改变状态栏的颜色使其与APP风格一体化

    公众号:smart_android 作者:耿广龙|loonggg 点击"阅读原文",可查看更多内容和干货 导语:沉浸式状态栏,改变状态栏的颜色使之与APP风格一体化是不是感觉很漂亮 ...

  7. android 学习随笔二十九(自定义监听 )

    package com.itheima.momo.dialog; import com.itheima.momo.R; import android.app.AlertDialog; import a ...

  8. android 学习随笔二十六(动画:属性动画)

    属性动画,属性动画是真正改变对象的某个属性的值 * 补间动画,只是一个动画效果,组件其实还在原来的位置上,xy没有改变1.位移:* 第一个参数target指定要显示动画的组件* 第二个参数proper ...

  9. android 学习随笔二十五(动画:补间动画)

    补间动画(TweenAnimation) * 原形态变成新形态时为了过渡变形过程,生成的动画就叫补间动画(为了让对象从初始状态向结束状态改变的过程更加自然而自动生成的动画效果)* 位移.旋转.缩放.透 ...

随机推荐

  1. c# ini file

    ini文件主要用于保存配置.之前一直以为是当作普通文本进行操作,读取里面的内容,再自己解析读取的文本.后来发现已经有写好的api函数:WritePrivateProfileString()和GetPr ...

  2. linux matlab2013b 安装教程

    链接:http://pan.baidu.com/s/1pJE6R2b 密码:shfy 1. 解压缩“Mathworks Matlab R2013b Linux.rar”(无需密码),得到“Mathwo ...

  3. CDN的原理以及其中的一些技术

    本质:DNS解析CNAME时最终会请求到阿里CDN的DNS服务器上,阿里CDN的DNS服务器会判断请求ip的物理区域是哪里,同时根据各CDN节点的压力做全局的负载均衡 返回合适CDN节点的ip. ht ...

  4. Web设计者和开发者必备的28个Chrome插件

    摘要 对于许多Web设计者和开发者来说,Firefox浏览器是无法超越的,对于其他人Chrome正在蚕食Firefox的浏览器市场. 在过去的两年,谷歌Chrome浏览器的发布以来,引起了人们激烈争论 ...

  5. 配置文件后面的rc的由来

    配置文件后面的rc的由来 配置文件比较正规的叫法是:运行控制文件  run control Linux就这个范儿 4.5.3 配置文件 配置文件比较文绉绉的称呼是“运行控制文件”,存放与具体程序相关的 ...

  6. window.open下载文件ie8请求的站点不可用的解决办法

    在业务里用到了PHP header导出doc文档,GET传值到页面,读出相应数据输出doc文件下载.用户提出需要批量,于是设计成js循环出对应数量的window.open(),向页面传入不同的值,批量 ...

  7. SQLdiag-初识

    SQLdiag是一个命令行实用工具,默认情况下,在C:\Program Files\Microsoft SQL Server\100\Tools\Binn目录下可用.首先我们打开SQLdiag.exe ...

  8. underscore源码解析

    (function() { // 创建一个全局对象, 在浏览器中表示为window对象, 在Node.js中表示global对象 var root = this; // 保存"_" ...

  9. javascript设计模式学习之十四——中介者模式

    一.中介者模式的定义和应用场景 中介者模式的作用在于解除对象之间的紧耦合关系,增加一个中介者之后,所有对象都通过中介者来通信,而不是互相引用,当一个对象发生变化的时候,仅需要通知中介者即可.从而将网状 ...

  10. MySQL: ERROR13(HY000):Can't get stat of

    在mysql中load data数据 mysql> load data infile '/home/a.txt' into table table_a;ERROR 13 (HY000): Can ...