A coluna Android '_id' não existe?

Estou tendo problemas com algo que funciona no exemplo do bloco de notas. Aqui está o código do NotepadCodeLab / Notepadv1Solution:

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);

Este código parece funcionar bem. Mas só para deixar claro, eu corri oADB utilitário e execute o SQLite 3. Inspecionei o esquema da seguinte maneira:

sqlite> .schema

CREATE TABLE android_metadata (locale TEXT);
CREATE TABLE notes (_id integer primary key autoincrement, title text
not null, body text not null);

Tudo parece bom para mim.

Agora, vamos ao meu aplicativo, que, até onde posso ver, é basicamente o mesmo com algumas pequenas alterações. Simplifiquei e simplifiquei meu código, mas o problema persiste.

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);
}

Quando executo meu aplicativo, recebo uma RuntimeException e as seguintes impressões no LogCat do meuLog.e() declaração:

Mensagem do LogCat:

java.lang.IllegalArgumentException: a coluna '_id' não existe

Então, voltando ao SQLite 3 para ver o que há de diferente no meu esquema:

sqlite> .schema CREATE TABLE android_metadata (locale TEXT); Círculos CREATE TABLE (_id incremento automático de chave primária em número inteiro, número inteiro em sequência, raio real, x real e real);

Não vejo como estou perdendo o '_id'.

O que eu fiz errado?

Uma coisa que é diferente entre meu aplicativo e o exemplo do Bloco de Notas é que comecei criando meu aplicativo do zero usando o assistente Eclipse enquanto o aplicativo de amostra já vem montado. Há algum tipo de mudança ambiental que preciso fazer para um novo aplicativo usar um banco de dados SQLite?

questionAnswers(8)

yourAnswerToTheQuestion