注:android实例:乐学成语,项目名HappyIdiom ,主要讲解在项目中遇到的错误,项目整体架构如下:
error1:在运行DBOpenHeplerTest.java(数据库创建)出现错误,如下图:
经过检查发现,错误原因在DBOpenHelper.java(实现将数据库文件从raw目录拷贝到手机里存放数据库的位置)中
private final int BUFFER_SIZE = 400000;//缓冲区大小
private static final String DB_NAME = "idioms.db";//保存的数据库文件名
private static final String PACKAGE_NAME = "cn.edu.bzu.happyidiom";//应用的包名
private static final String DB_PASH = "/data"+Environment.getDataDirectory().getAbsolutePath()
+"/"+PACKAGE_NAME+"/databases";//在手机里存放数据库的位置
应用包名书写错误:应该与AndroidManifest.xml中包名一致,改为:private static final String PACKAGE_NAME = "cn.edu.bztc.happyidiom";
错误更改后,再次对DBOpenHeplerTest.java进行单元测试,在DDMS->File Explorer->Data->Data中可看到运行成功后的效果,如下图:
error2:在测试AnimalDaoTest.java时出错,提示错误为"空指针",如图
根据提示检查AnimalDao.java,发现并没书写或逻辑错误,然后查看DBOpenHelper.java,发现错误:
在上图return语句中,返回null,所以接收不到任何数据,应改为:return db;
再次测试AnimalDaoTest.java,运行成功,输出成语: