Je suis en train de modifier mon application Android pour travailler avec ORMLite et utilise actuellement un certain nombre de CursorAdapters, que je veux bien garder dans une tentative de réduire au minimum le codage. Je ne suis pas sûr à 100% mais il semble que lorsque ORMLite crée un champ id dans la base de données, il utilise toujours id
, alors que CursorAdapter a besoin de _id
.ORMLite avec CursorAdapter dans Android
Il est possible de contourner cela en utilisant une requête comme suit:
select id as _id ......
mais la méthode Dao.queryRaw()
retourne une liste, pas un curseur, donc la façon dont je l'ai fait est d'ouvrir une autre base de données SQLiteOpenHelper connexion et utilisation rawQuery()
.
Cela fonctionne, mais ce qu'il ya des meilleures façons de le faire du tout? Il semble exagéré d'avoir deux connexions de base de données distinctes, et peut-être stocker des problèmes plus tard.
Désolé, il semble que cette question soit fausse. Je me suis trompé, il est possible de nommer les colonnes _id avec ORMLite, donc j'ai proposé de supprimer cette question pour éviter toute confusion à moins que quelqu'un ait quelque chose à ajouter plus tard .. –
Plutôt que de le supprimer, je vous suggère de répondre le corriger - quelqu'un peut trouver cela utile, en particulier les exemples de code pour la façon dont vous avez créé le curseur pour travailler avec ORM – pjco
ont fait ci-dessous. Vous avez raison - aucune suppression d'utilisation, je m'inquiète juste que des gens trébuchent sur ce type de désinformation et que cela décourage les gens, mais la réponse est de lire attentivement! –