¿La columna de Android '_id' no existe?

Tengo problemas con algo que funciona en el ejemplo del Bloc de notas. Aquí está el código de 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 bien. Pero para ser claros, corrí elADB utilidad y ejecutar SQLite 3. Inspeccioné el esquema de la siguiente manera:

sqlite> .schema

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

Todo me parece bien.

Ahora a mi aplicación, que, hasta donde puedo ver, es básicamente lo mismo con algunos cambios menores. He simplificado y simplificado mi código, pero el 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);
}

Cuando ejecuto mi aplicación, obtengo una RuntimeException y las siguientes impresiones en LogCat de miLog.e() declaración:

Mensaje de LogCat:

java.lang.IllegalArgumentException: la columna '_id' no existe

Entonces, regrese a SQLite 3 para ver qué hay de diferente en mi esquema:

sqlite> .schema CREATE TABLE android_metadata (texto regional); CREATE TABLE círculos (_id entero clave principal autoincrement, secuencia entero, radio real, x real, y real);

No veo cómo me estoy perdiendo el '_id'.

¿Qué he hecho mal?

Una cosa que es diferente entre mi aplicación y el ejemplo del Bloc de notas es que comencé creando mi aplicación desde cero usando el asistente Eclipse mientras la aplicación de muestra ya está lista. ¿Hay algún tipo de cambio ambiental que deba realizar para que una nueva aplicación use una base de datos SQLite?

Respuestas a la pregunta(8)

Su respuesta a la pregunta