前言——好记性不如烂笔头,记录Android学习过程中遇到的各种问题BUG。O(∩_∩)O
错误1 ——
Caused by: android.content.res.Resources$NotFoundException:
String resource ID #0x0
错误原因——一般是int 型数据赋给String ,然后让TextView显示就会出现如上错误。
解决办法——用String.valueOf 或者在int数据后加“”
错误2——
- <Button
- android:id="@+id/button1"
- android:layout_width="118dp"
- android:layout_height="wrap_content"
- android:text="下一步" />"
解决办法——应该在res/values/strings.xml中设置:
- <?xml version="1.0" encoding="utf-8"?>
- <resources>
- <string name="message">下一步</string>
- </resources>
android:text="@string/message"
就行了。这样做可以做到一改全改,在支持多语言时也是很有用的。另外,颜色的设置也最好在color.xm中类似设置。
错误3——
错误4——
API level 11 (current min is 8): new android.widget.SimpleCursorAdapte
解决方法——
右键点击项目->Android tools ->Clear Link Markers.即可临时解决,但是如果调试用的模拟器是低版本的,则在调试完后还有这个错误。
如果把manifest文件中的user-sdk的android:minSdkVersion改为报错的那个高版本就没事。比如下面:
<uses-sdk
android:minSdkVersion="11" //这个之前是8
android:targetSdkVersion="17" />
错误5——
问题:Description Resource Path Location Type
Unparsed aapt error(s)! Check the console for output. Bundle_Test line 1 Android ADT Problem
解决方法——
layout 文件名只能在小写的26个字母和数字0~9中选取. 因此,我们的文件名中有大写字母就会报错.
而造成上述原因是因为我新建了一个xml文件,命名为Receiver.xml
因此把名字改为小写就好了。
错误6——
08-16 09:06:45.018: W/dalvikvm(2286): VFY: unable to resolve static method 3273: Lorg/slf4j/LoggerFactory;.getLogger (Ljava/lang/Class;)Lorg/slf4j/Logger;
08-16 09:44:13.617: W/dalvikvm(4731): VFY: unable to resolve static method 2649: Lcom/nostra13/universalimageloader/core/ImageLoader;.getInstance ()Lcom/nostra13/universalimageloader/core/ImageLoader;
threadid=1: thread exiting with uncaught exception (group=0x4001d800)
解决方法——buildpath->Order and Export->select All
错误7——
单击工程右键,打开build path ,configure bulid path ,把下面这个Dependencies 这个由于加载外面工程而生成的依赖包给删除掉。就好了。!!!
错误8——
java.lang.IllegalStateException: attempt to re-open an already-closed object
问题原因——因为我在一个数据库查询方法中调用了另一个数据库查询方法,我的数据库查询方法都是在开始的时候获取SQLiteDatabase对象,在结束的时候关闭SQLiteDabse对象,结果内部的数据库查询方法在结束的时候直接关闭了SQLiteDatabase对象,导致外面的数据库查询操作报错,在这里大家不要以为多获取了几个SQLiteDatabase对象就可以了,每个线程只能使用一个SQLiteOpenHelper,也就使得每个线程使用一个SQLiteDatabase对象(多线程操作数据库会报错);
解决办法——我不再关闭内部数据库查询方法的SQLiteDatbase对象或者将那个方法直接集成到外面的查询方法中,当然,要确保这个查询方法只会出现其他数据库查询方法中,要是单独用这个方法,反而会因为SQLiteDatabase对象没有关闭而报错;
错误9 ——解决办法——
错误10——
后记——不好意思,写得有点凌乱,这些都是我调试时候遇到的问题,部分问题的解决办法是参考网友的。