android开发中经常碰到哪些问题

作者&投稿:茶侧 (若有异议请与网页底部的电邮联系)
android开发中遇到的问题~

【错误信息】

[2011-01-19 16:39:10 - ApiDemos] WARNING: Application does not specify an API level requirement!
[2011-01-19 16:39:10 - ApiDemos] Device API version is 8 (Android 2.2)

原因:

不影响正常运行。在AndroidManifest.xml文件中没有加API的版本号,在
之间加<uses-sdk
android:minSdkVersion="3">

[2011-01-19 16:55:04 - ApiDemos] Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE
[2011-01-19 16:55:04 - ApiDemos] Please check logcat output for more details.
[2011-01-19 16:55:05 - ApiDemos] Launch canceled!

该设备没有足够的存储空间来安装应用程序,

【错误信息】

[2011-02-18 11:46:53] Failed to push selection: Is a directory

原因:

原先目录已经有pkg_3.apk的文件夹,再copy一个pkg_3.apk安装文件时出现问题,解决办法,先删除掉pkg_3.apk的文件夹

[2011-03-04 09:25:12 - ActivityMain]: Dx
UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.IllegalArgumentException: already added: Lorg1/apache/commons/codec/net/RFC1522Codec;
[2011-03-04 09:25:12 - ActivityMain]: Dx at com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:123)
[2011-03-04 09:25:12 - ActivityMain]: Dx at com.android.dx.dex.file.DexFile.add(DexFile.java:143)
.....

[2011-03-04 09:25:12 - ActivityMain]: Dx1 error; aborting
[2011-03-04 09:25:12 - ActivityMain] Conversion to Dalvik format failed with error 1

原因:

【错误信息】

启动Eclipse时出现:

this android sdk requires android developer toolkit version 10.0.0 or above.

current version is 8.0.1.v201012062107-82219.

please update adt to the latest version

原因:

Eclipse的android开发插件版本过低,应该下载ADT-10.0.0,并且

  1. 启动 Eclipse, 然后进入 Help > Install New Software.

  2. 在 Available Software 对话框里,点击 Add....

【错误信息】

[2011-03-09 15:21:34 - Info] Failed to install Info.apk on device '?': Unable to open sync connection!
[2011-03-09 15:21:34 - Info] java.io.IOException: Unable to open sync connection!
[2011-03-09 15:21:34 - Info] Launch canceled!

原因:

关闭模拟器和eclipse,执行adb kill-server命令,然后重试一下

【错误信息】

调用Webservice时出现

java.net.SocketException: Permission denied (maybe missing INTERNET permission)

原因:

需要访问到网络,所以,在AndroidManifest.xml中,需要进行如下配置:

添加一个按钮,设置setOnclickListener点击事件,获取屏幕的宽高,在点击事件内部获得宽高的随机数来确定兔子的位置进行绘制,绘制之前记得清楚之前的兔子

【错误信息】

[2011-01-19 16:39:10 - ApiDemos] WARNING: Application does not specify an API level requirement!
[2011-01-19 16:39:10 - ApiDemos] Device API version is 8 (Android 2.2)

原因:

不影响正常运行。在AndroidManifest.xml文件中没有加API的版本号,在<manifest>
</manifest> 之间加<uses-sdk
android:minSdkVersion="3"></uses-sdk>

[2011-01-19 16:55:04 - ApiDemos] Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE
[2011-01-19 16:55:04 - ApiDemos] Please check logcat output for more details.
[2011-01-19 16:55:05 - ApiDemos] Launch canceled!

该设备没有足够的存储空间来安装应用程序,

【错误信息】

[2011-02-18 11:46:53] Failed to push selection: Is a directory

原因:

原先目录已经有pkg_3.apk的文件夹,再copy一个pkg_3.apk安装文件时出现问题,解决办法,先删除掉pkg_3.apk的文件夹

[2011-03-04 09:25:12 - ActivityMain]: Dx
UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.IllegalArgumentException: already added: Lorg1/apache/commons/codec/net/RFC1522Codec;
[2011-03-04 09:25:12 - ActivityMain]: Dx at com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:123)
[2011-03-04 09:25:12 - ActivityMain]: Dx at com.android.dx.dex.file.DexFile.add(DexFile.java:143)
.....

[2011-03-04 09:25:12 - ActivityMain]: Dx1 error; aborting
[2011-03-04 09:25:12 - ActivityMain] Conversion to Dalvik format failed with error 1

原因:

【错误信息】

启动Eclipse时出现:

this android sdk requires android developer toolkit version 10.0.0 or above.

current version is 8.0.1.v201012062107-82219.

please update adt to the latest version

原因:

Eclipse的android开发插件版本过低,应该下载ADT-10.0.0,并且

  1. 启动 Eclipse, 然后进入 Help > Install New Software.

  2. 在 Available Software 对话框里,点击 Add....

【错误信息】

[2011-03-09 15:21:34 - Info] Failed to install Info.apk on device '?': Unable to open sync connection!
[2011-03-09 15:21:34 - Info] java.io.IOException: Unable to open sync connection!
[2011-03-09 15:21:34 - Info] Launch canceled!

原因:

关闭模拟器和eclipse,执行adb kill-server命令,然后重试一下

【错误信息】

调用Webservice时出现

java.net.SocketException: Permission denied (maybe missing INTERNET permission)

原因:

需要访问到网络,所以,在AndroidManifest.xml中,需要进行如下配置:
<uses-permission android:name="android.permission.INTERNET" />

【错误信息】

org.xmlpull.v1.XmlPullParserException: expected: START_TAG
{http://schemas.xmlsoap.org/soap/envelope/}Envelope (position:START_TAG
<{http://schemas.xmlsoap.org/wsdl/}wsdl:definitions
targetNamespace='http://bo.webservice.nqbx.nq.com'>@2:603 injava.io.InputStreamReader@44a3a7b0)

原因有可能是以下2个之一:

1)Webservice服务器的Soap版本为1.0,所以客户端指定

SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);

VER11改为VER10

2)String serviceUrl = "http://200.200.200.11:10000/nqbx/service/InqBxWebService?wsdl";

Url指的是你的webservice的地址.一般都是以***.wsdl或者***.?wsdl结束的...但是.需要注意的是..要去掉后面的.wsdl或者.?wsdl

【错误信息】

在新的线程中 public class HttpThread extends Thread {...}

增加一个弹出窗体:

[java] view
plaincopy

new AlertDialog.Builder(this).setTitle("数据加载失败").setMessage("请检查网络连接情况") .setPositiveButton("OK", new DialogInterface.OnClickListener(){ public void onClick(DialogInterface dialoginterface, int i) { } }).show();

原因及解决办法:

//不能在线程中操作UI界面

java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()

修改后:

[java] view
plaincopy

new AlertDialog.Builder(com.nantsing.infoquery.chuanbo_detail.this).setTitle("数据加载失败").setMessage("请检查网络连接情况") .setPositiveButton("OK", new DialogInterface.OnClickListener(){ public void onClick(DialogInterface dialoginterface, int i) { }

【错误信息】

The constructor AlertDialog.Builder(chuanbo_detail.HttpThread) is undefined

原因及解决办法:

在UI主线程之外是无法对UI组件进行控制的。因为你必须在新线程任务完成之后利用各种方法先UI主线程发送消息通知任务完成从而来显示各种提示消息。
线程间通信方法有多种,常用的是用handler来传递消息。

如下:

线程中构造消息:

[java] view
plaincopy

//
构造消息Message message = handle.obtainMessage();Bundle b = new Bundle();
b.putString("tag", "1");message.setData(b);handle.sendMessage(message);

另外自定义消息:

[c-sharp] view
plaincopy

/** * 捕获消息队列 fubin.pan 2011-04-02 */Handler handler = new Handler() {public void handleMessage(Message m) {if (!m.getData().getString("tag").equals("1")){ ...}else{new AlertDialog.Builder(chuanbo_detail.this).setTitle("数据加载失败").setMessage("请检查网络连接情况!") .setPositiveButton("OK", new DialogInterface.OnClickListener(){ public void onClick(DialogInterface dialoginterface, int i) { } }).show();}}};

【错误信息】

android低版本工程(如1.5)放到高版本环境中(如2.2)可能会上述错误,解决方法如下:
1。 如果不修改android sdk版本,则使用project clean 命令作用于某工程即可。
(该处理方式只是在高版本中兼容了低版本工程,未真正意义上的升级)
2。 如果修改android sdk版本,则需要以下几个步骤:
1)修改SDK
选择工程,build path --> configure build path ---> library 删除引用的低版本SDK,
然后add External JARs,选择高版本SDK,OK,保存
2)修改classpath文件
该文件可能存在该项: <classpathentry kind="lib" path ="你所指定的高版本的地址"
把她修改成<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK" />
3) 修改AndroidManifest.xml
在AndroidManifest.xml文件中,application标签后添加<uses-sdk android:minSdkVersion="3"></uses-sdk>
4) 修改default.properties(很重要)
该文件最后一行(前面没用#的)target=android-3 该成target=android-8,保存。
再看看你的工程和新建的android 2.2的工程结构就一样了。

Android 开发中常用到的设计模式有哪些
答:Builder模式:比如AlertDialog.Builder。适配器模式:比如GridView、ListView与Adapter。命令模式:比如Handler.post。享元模式:比如Message.obtain。单例模式:比如InputMethodManager.getInstance。观察者模式:比如ContentObserver。这是一些经常用到的设计模式以及举例。

Android开发问题怎么解决?
答:当时只是为了好玩,因而也没有相应的文档记录;后来由于工作原因也就没有继续讲Android开发进行下去。趁有时间再来折腾折腾Android的开发吧。想要开发Android的应用,首先需要安装Android的开发环境,下面记录了Android开发环境搭建的步骤。 一、环境及所需软件: 操作系统:win7 32位 下载Android Studio:http://developer....

安卓开发时碰到的package name的后缀为什么是.test,.test是什么文件呢...
答:android 开发中默认测试程序package name 一般是以在原package name的基础上以.test结尾 请在开发时确认一下

Android 开发中常用到的设计模式有哪些
答:常用的一般有单例模式,工厂模式以及抽象工厂模式,代理模式 一般为了解耦会采用MVC模式。PS:其实设计模式这东西没有绝对,只有合不合适

Android 开发中,有哪些坑需要注意
答:这好像是废话,在Android上面开发不用Android API用什么?因为Android几乎支持Java SE所有的API,所以有很多地方Android API与Java SE的API会有重复的地方,比如说对于文件的操作最好使用Android里面Context封装的API,而不要直接使用File对象:Context.openFileOutput(String); // no File file = new File...

Android 开发中,有哪些坑需要注意
答:1导入的类库需要和项目在同级目录下,谨防资源文件与类库中冲突 2textviewsetText为int时候,textview的color代码设置,set/getTextSize 单位问题 3json 属性节点不能有空格 4asset下使用第三方字体 xx.ttf 必须都为小写 5listView自定义adapter中复用holder时候,如果view/checkbox等对应不同状态显示不同的...

Android 开发中,有哪些坑需要注意
答:7、 不要通过Bundle传递大块的数据,否则会报TransactionTooLargeException异常:8、 尽量不要使用AnimationDrawable,它在初始化的时候就将所有图片加载到内存中,特别占内存,并且还不能释放,释放之后下次进入再次加载时会报错;9、 Eclipse的Android开发环境配置好后不要轻易升级ADT和build tools,不然会...

Android开发的问题 我是新手求教了
答:关键是那些红字 连接到adb掉线了 先按照它提示的做 1 重启一下adb和Eclipse 可以是DOS下运行adb 2 查看你的adb的位置 不行的话 重新下载sdk 3 如果还不行 重新建立AVD 当然也可能与你运行的360豌豆荚有关系

Android 开发中,有哪些坑需要注意
答:安全问题 安卓应用开发也需要注意安全问题,应用常被用于处理非常敏感的数据,开发者有责任确保用户提供的信息不被居心不良者轻易截取。使用网络服务(WS)通信时的风险、在存储设备上存储数据时潜在的信息泄漏以及第三方软件能轻易编辑应用程序的漏洞,这三个都是经常容易出现漏洞的地方。

Android 开发中,有哪些坑需要注意
答:3)使用最新的Android SDK版本和API 使用Android平台的最新产品,保证你的应用紧跟Android的更新步伐。随着Android平台的不断发展,部分功能可能被弃用或被更好的 功能取代,核心API接收了bug修复和性能改进,新API有助于开发者编写出更稳定的应用。要明白最佳的做法总是随着时间的推移而变,聪明的开发者应该...