J'ai de la difficulté avec quelque chose qui fonctionne dans le bloc-notes par exemple. Voici le code de la 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);
Ce code semble fonctionner correctement. Mais juste pour être clair, j'ai couru à la BAD utilitaire et lancez SQLite 3. J'ai inspecté le schéma comme suit:
sqlite> .schéma CRÉER une TABLE android_metadata les paramètres régionaux de TEXTE); CRÉER une TABLE des notes (_id integer primary key autoincrement, le titre du texte pas null, le corps du texte et non pas null);
Tout semble bon pour moi.
Maintenant, sur ma demande, qui, autant que je peux voir, est fondamentalement la même, avec quelques modifications mineures. J'ai simplifié et simplifié mon code, mais la problème 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);
}
Quand je lance mon application, j'obtiens une RuntimeException et les épreuves suivantes
dans le LogCat de mon Log.e()
déclaration:
LogCat Message:
java.lang.IllegalArgumentException: la colonne " _id " n'existe pas
Donc, retour à SQLite 3 pour voir ce qui est différent au sujet de mon schéma:
sqlite> .schéma CRÉER une TABLE android_metadata les paramètres régionaux de TEXTE); CRÉER une TABLE des cercles (_id integer primary key autoincrement, séquence entier, rayon réel, x vraie, y vraie);
Je ne vois pas en quoi je manque le '_id'.
Qu'ai-je fait de mal?
Une chose qui est différent entre mon application et l'exemple le bloc-notes est j'ai commencé par créer mon application à partir de zéro en utilisant l' Eclipse assistant tandis que l'exemple d'application est livré déjà assemblé. Est il y a une sorte de changement environnemental j'ai besoin de faire une nouvelle demande pour utiliser une base de données SQLite?