自从两个月前我开始我的应用程序以来,我在使用 Android 数据库时遇到了很多麻烦......我学习了很多教程,但只回答了几个问题......我放弃了使用我的(真实)设备数据库,'因为我无法访问它,所以我开始使用模拟器。但是奇怪的事情发生了。我有这堂课:
public class DatabaseHandler extends SQLiteOpenHelper
{
@Override
public void onCreate(SQLiteDatabase database)
{
database.execSQL(sql_command);
}
}
每当我卸载应用程序时,应该从(虚拟)设备中完全删除数据库,对吗?但是当我重新安装它并在 execSQL() 行中放置断点时(在方法执行之前),我可以通过 SQLite Manager 选项卡看到数据库与以前一样:类别表只有_id,名称,描述, current_level 和状态。
当前的 sql 命令是(注意类别表中的新图像列):
create table categories(
_id integer primary key autoincrement,
name text not null,
description text not null,
current_level integer DEFAULT 0,
status integer DEFAULT 0,
image text not null);
create table levels(
_id integer primary key autoincrement,
category_id integer not null,
level integer,
total_questions integer,
answered_questions integer DEFAULT 0,
correct_answers integer DEFAULT 0,
time integer DEFAULT 0);
不仅图像列被插入,而且级别表也不会显示在数据库中。此外,当我运行 execSQL() 方法时,logcat 选项卡上没有显示任何内容。
顺便说一句,我使用的是 Ubuntu 12.10、Eclipse Juno 和 Android 2.2!