Ce qui est Complet d'Android de Base de données de la classe Helper pour une base de données SQLite?
Je suis en train de déployer une application avec une base de données SQLite.
J'ai lu et tenté de mettre en œuvre plusieurs échantillons en ligne cependant, j'ai trouvé qu'ils sont toujours manquant un peu de code et de ne pas compiler ou de travailler comme annoncé.
Quelqu'un a une Complète Android de Base de données de la classe Helper pour le déploiement d'un existant de base de données SQLite sur Android?
- J'ai essayé à l'aide de votre code, mais il reste coincé sur cette partie: ActivityManager: Départ: l'Intention { act=android.l'intention.d'action.PRINCIPALES cat=[android.l'intention.de la catégorie.LAUNCHER] cmp=com.mdegges/.MicheleActivity. Le data/data/com.mdegges/fichier de base de données n'est jamais créé.
- Je ne suis pas sûr de ce qui va mal il. À partir de vos autres questions, on dirait que vous êtes aussi coincé sur l'écran de lancement de la partie. Êtes-vous en mesure d'effectuer un bonjour à tout le monde avant de la db code?
- Oui, j'ai été en mesure de compléter beaucoup de tutoriaux (y compris le bonjour à tout le monde) sur le site dev. C'est tellement étrange qu'aucun des guides que j'ai essayé ont travaillé.. La db est dans mon dossier des actifs, j'ai changé DB_PATH le dossier de sortie correcte, et j'ai changé de nom db à mon db (avec et sans extension), mais pas de chance!
- J'ai été en mesure de le faire fonctionner. 🙂
- C'est essentiellement en demandant "donnez-moi une base de données de la classe helper pour SQLLite" et correspond à la définition de "trop large". Et je n'ai pas downvote, j'ai fermé la question. Les Questions fermées sous NARQ sont automatiquement donné un -1 voter qu'à la suite de la fermeture. La réponse est bonne, mais la question elle-même est mauvais et a besoin de beaucoup de travail. Poser et de répondre à vos propres questions est ok (et même encouragé), mais qui place le double devoir de vous, de fournir une qualité de réponse et une question de la qualité.
- Merci pour la clarification.
Vous devez vous connecter pour publier un commentaire.
C'est ce que je suis venu avec, espérons qu'il aidera d'autres à avoir des problèmes.
copyDataBase()
appel et la modification de la DB_PATH à l'emplacement approprié. Mais c'est juste une supposition. Je préfère ne pas permettre à l'utilisateur d'avoir un accès direct aux données de l'application, donc je n'ai jamais considéré cette option.helperContext
. Bonne prise 🙂AnyDBAdapter dba = new AnyDBAdapter(contextObject);
puis-je l'utiliser pour obtenir les résultats dans une Liste ou une liste de tableaux? Je ne sais pas ce que je dois utiliser pour contextObjectpublic class MyClass extends MapActivity { public void doDBStuff() { new AnyDBAdapter(this).doDBThing(); } }
AnyDBAdapter.close()
etSQLiteDatabase.close()
?Assurez-vous de créer DatabaseHelper objet d'une fois au cours de vie de l'application et de le réutiliser.
Pour la lecture des données:
Pour la lecture/modification de données:
prochaine utilisation
insert()
,query()
,update()
,delete()
méthodes de SQLiteDatabase objet:http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html
Aussi vous ne devriez pas créer la base de données directement accesssing le fichier sqlite ce que vous faites dans createNewDatabase méthode.
Utilisation execSQL() la méthode de SQLiteDatabase objet dans votre onCreate(...) de la méthode. Exécuter vos requêtes CREATE TABLE là.
Make sure you create DatabaseHelper object once during application lifetime and reuse it.
getApplicationContext()
. Utiliser ce lieu, car tout ce qui est de répondre àgetApplicationContext()
est unContext
.this
à l'intérieur deActivity
,Application
. Commonsware et moi nous avons tous les deux ont raison. Il suffit de prendre un regard sur les docs de l'api et de passer quelque chose qui s'étendandroid.content.Context
. developer.android.com/reference/android/database/sqlite/...