在记事本的例子中,我遇到了一些问题。 下面是 NotepadCodeLab/Notepadd1Solution 的代码:
String[] from = new String[] { NotesDbAdapter.KEY_TITLE };
int[] to = new int[] { R.id.text1 };
SimpleCursorAdapter notes = new SimpleCursorAdapter(this,
R.layout.notes_row, c, from, to);
这段代码看起来运行得很好,但是为了清楚起见,我运行了“ ahref =”http://android-dls.com/wiki/index.php? title = ADB“ rel =”noReferrer“ > ADB 我检查了模式如下:
模式
CREATE TABLE android_metadata (locale TEXT);
CREATE TABLE notes (_id integer primary key autoincrement, title text
not null, body text not null);
我觉得一切都很好。
现在来看看我的应用程序,在我看来,它基本上与 我已经简化了我的代码,但是 问题依然存在。
String[] from = new String[] { "x" };
int[] to = new int[] { R.id.x };
SimpleCursorAdapter adapter = null;
try
{
adapter = new SimpleCursorAdapter(this, R.layout.circle_row, cursor, from, to);
}
catch (RuntimeException e)
{
Log.e("Circle", e.toString(), e);
}
当我运行我的应用程序时,我得到一个 RuntimeException 和以下输出
在我的 Log.e()
语句的 LogCat 中:
LogCat 消息:
列“ _ id”不存在
因此,回到 SQLite 3,看看我的模式有什么不同:
模式 创建 TABLE android _ meta (locale TEXT) ; CREATETABLE 圆圈(_ id 整数主键自增量,序列 整数,半径实数,x 实数,y 实数) ;
我不明白我怎么会漏掉了“ _ id”。
我做错了什么?
我的应用程序和记事本示例之间的一个不同之处是 方法从头开始创建我的应用程序 示例应用程序已经组装好的 Eclipse 向导 有一些环境的改变,我需要作出一个新的申请 使用 SQLite 数据库?