错误1:数据库关闭引起的错误 java.lang.IllegalStateException:
详细错误:java.lang.IllegalStateException: attempt to re-open an already-closed object: SQLiteDatabase: data/data/com.test.phonebooks/files/people_db
at android.database.sqlite.SQLiteClosable.acquireReference(SQLiteClosable.java:55)
由于查询完数据库后就关闭了数据库,但是又有另一个地方尝试打开,所以造成了错误
解决方法:打开就不要关了,除非退出程序;每次操作前,用database.isopen()判断是否是关闭状态,再决定是否打开。
错误2:新建项目出现红色感叹号
第一种:新建项目之后,右键Build Path->Configure Build Path ,然后把Libraries里面带错误的Android Dependencies 移除掉就没有红色 感叹号了,但是布局文件编号后,还得clean下, 要不然R.id就会找不到id,而且有时重新打开eclipse就会又变成这个样子。
第二种:新建项目最后一步不要create Activity,但是每次都要自己新建activity_main.xml,和MainActivity文件,不仅麻烦,而且重要的是 setContentView(R.Layout.)找不到布局文件
第三种是新建项目第一步把最低的sdk改为API14。但是进去之后是没有R文件的,必须clean一下,这是相对来说问题最小的一个方法
前两天还不一样了,新建项目没有红色感叹号,但是没有R文件,clean下,styles.xml就会报错,必须把<style name="AppBaseTheme" parent="Theme.AppCompat.Light">改成了<style name="AppBaseTheme" parent="android:Theme.Light">,clean了之后才行
错误3:读取数据库
java.lang.IllegalStateException: Couldn't read row 0, col -1 from CursorWindow. Make sure the Cursor is initialized correctly before accessing data from it.
解决方法:数据库有很多字段名,我以为可以把这些定义常量,调用起来会好,然后我在常量类Contance中,类似以下定义:public static String MINGCHENG = "mingcheng";每个字段名都写成了这样,然后调用,把这个值写在了.getColumnIndex(Contance.MINGCHENG));所以会出现错误,最后我就把这个值又换成了本身的字段名。.getColumnIndex("mingcheng"));就OK了
错误4:onClickListener的冲突问题
import anfroid.view.View.OnClickListener
import anfroid.content.DialogInterface.OnClickListener
这两个东西要同时使用的话,要使用一下方式:
new android.content.DialogInterface.OnClickListener()
new android.view.View.OnClickListener()
错误5:无论怎么添加库文件都报错。(有红叉)
解决方法:只要把库文件项目和项目放到同一个文件夹下,才可以添加成功
错误6:ANR
http://www.cnblogs.com/purediy/p/3225060.html
http://www.eoeandroid.com/thread-55761-1-1.html
错误7:自定义导出jar包运行时报错
错误信息:控制台打印:Error generating final archive : Found duplicate file for Apk :AndroidManifests
解决方法:到处jar包是,不要勾选AndroidManifest.xml和res就可以了
参考博客: 如何制作jar包并在android中调用jar包 http://www.360doc.com/content/14/0914/14/9200790_409383882.shtml