belefti Posté(e) 31 mai 2010 Share Posté(e) 31 mai 2010 bonjour tlm quelqu'un peut etre peux m'aider, j'ai une Base de donnée sous forme de fichier .sqilte que j'ai créer avec sqlite manager, je souhaite utiliser ce fichier dans mon appli j e ne sais pas comment faire pour ce connecter a ce fichier et utiliser les données ???? merci d'avance Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Invité Posté(e) 3 juin 2010 Share Posté(e) 3 juin 2010 Je crois que tu ne peux travailler qu'avec des bases de données en *.db, tout du moins c'est l'extension qui est produite lorsque tu crées une base de données depuis ton application. Cependant l'accès au base depuis le téléphone se fait grâce à sqlite3. Donc il est peut être possible que ça marche. Pour comprendre comment fonctionne l'accès aux bases de données, je te conseille de suivre le tutoriel sur le NotePad : http://developer.android.com/guide/tutorials/notepad/index.html Tu verras comment on crée une base, comment on y accède, et comment on peut récupérer certains éléments. Bon courage ;) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Cyril Mottier Posté(e) 3 juin 2010 Share Posté(e) 3 juin 2010 Peut importe l'extension ... ton fichier doit simplement être du SQLite 3. En ce qui concerne le fonctionnement, tu remarquera qu'une base de donnée SQLite Android comporte une table supplémentaire (meta) qui contient des informations sur la localisation entre autre. Si tu veux utiliser ta propre base de donnée créée à partir d'une autre source qu'Android alors il va te falloir mettre les mains dans le cambouis avec des classes du packages android.database :) Bon courage Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
belefti Posté(e) 3 juin 2010 Auteur Share Posté(e) 3 juin 2010 merci bcp les gars pour les réponses :) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Kricek Posté(e) 2 novembre 2010 Share Posté(e) 2 novembre 2010 Coucou tout le monde! Désolé pour le déterrage mais j'ai un peu le même souci: je souhaite utiliser un fichier sqlite dans mon projet Android. J'ai suivi ce début de tuto: http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/ J'ai bien ajouté la table "android_metadata", mais je me retrouve toujours avec une base vide. A la première execution, j'obtiens ca: 11-02 16:42:18.012: ERROR/Database(226): sqlite3_open_v2("/data/data/MonAppli/databases/MaBDD", &handle, 1, NULL) failed et : 11-02 16:42:18.202: ERROR/AndroidRuntime(226): Uncaught handler: thread main exiting due to uncaught exception 11-02 16:42:18.223: ERROR/AndroidRuntime(226): java.lang.Error: Erreur a la copie de la base de données 11-02 16:42:18.223: ERROR/AndroidRuntime(226): at com.MonAppli.BddHelper.createDataBase(BddHelper.java:42) 11-02 16:42:18.223: ERROR/AndroidRuntime(226): at com.MonAppli.main.test(main.java:26) 11-02 16:42:18.223: ERROR/AndroidRuntime(226): at com.MonAppli.main.onCreate(main.java:18) 11-02 16:42:18.223: ERROR/AndroidRuntime(226): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1123) 11-02 16:42:18.223: ERROR/AndroidRuntime(226): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2364) 11-02 16:42:18.223: ERROR/AndroidRuntime(226): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2417) 11-02 16:42:18.223: ERROR/AndroidRuntime(226): at android.app.ActivityThread.access$2100(ActivityThread.java:116) 11-02 16:42:18.223: ERROR/AndroidRuntime(226): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1794) 11-02 16:42:18.223: ERROR/AndroidRuntime(226): at android.os.Handler.dispatchMessage(Handler.java:99) 11-02 16:42:18.223: ERROR/AndroidRuntime(226): at android.os.Looper.loop(Looper.java:123) 11-02 16:42:18.223: ERROR/AndroidRuntime(226): at android.app.ActivityThread.main(ActivityThread.java:4203) 11-02 16:42:18.223: ERROR/AndroidRuntime(226): at java.lang.reflect.Method.invokeNative(Native Method) 11-02 16:42:18.223: ERROR/AndroidRuntime(226): at java.lang.reflect.Method.invoke(Method.java:521) 11-02 16:42:18.223: ERROR/AndroidRuntime(226): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791) 11-02 16:42:18.223: ERROR/AndroidRuntime(226): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549) 11-02 16:42:18.223: ERROR/AndroidRuntime(226): at dalvik.system.NativeStart.main(Native Method) Et à chaque nouveau lancement: 11-02 16:49:04.982: ERROR/AndroidRuntime(502): Uncaught handler: thread main exiting due to uncaught exception 11-02 16:49:05.002: ERROR/AndroidRuntime(502): java.lang.RuntimeException: Unable to start activity ComponentInfo{MonAppli/MonAppli.main}: android.database.sqlite.SQLiteException: no such table: MaTable: , while compiling: SELECT Code, Nom, Autorise FROM MaBDD 11-02 16:49:05.002: ERROR/AndroidRuntime(502): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2401) 11-02 16:49:05.002: ERROR/AndroidRuntime(502): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2417) 11-02 16:49:05.002: ERROR/AndroidRuntime(502): at android.app.ActivityThread.access$2100(ActivityThread.java:116) 11-02 16:49:05.002: ERROR/AndroidRuntime(502): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1794) 11-02 16:49:05.002: ERROR/AndroidRuntime(502): at android.os.Handler.dispatchMessage(Handler.java:99) 11-02 16:49:05.002: ERROR/AndroidRuntime(502): at android.os.Looper.loop(Looper.java:123) 11-02 16:49:05.002: ERROR/AndroidRuntime(502): at android.app.ActivityThread.main(ActivityThread.java:4203) 11-02 16:49:05.002: ERROR/AndroidRuntime(502): at java.lang.reflect.Method.invokeNative(Native Method) 11-02 16:49:05.002: ERROR/AndroidRuntime(502): at java.lang.reflect.Method.invoke(Method.java:521) 11-02 16:49:05.002: ERROR/AndroidRuntime(502): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791) 11-02 16:49:05.002: ERROR/AndroidRuntime(502): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549) 11-02 16:49:05.002: ERROR/AndroidRuntime(502): at dalvik.system.NativeStart.main(Native Method) 11-02 16:49:05.002: ERROR/AndroidRuntime(502): Caused by: android.database.sqlite.SQLiteException: no such table: MaTable: , while compiling: SELECT Code, Nom, Autorise FROM MaBDD 11-02 16:49:05.002: ERROR/AndroidRuntime(502): at android.database.sqlite.SQLiteProgram.native_compile(Native Method) 11-02 16:49:05.002: ERROR/AndroidRuntime(502): at android.database.sqlite.SQLiteProgram.compile(SQLiteProgram.java:110) 11-02 16:49:05.002: ERROR/AndroidRuntime(502): at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:59) 11-02 16:49:05.002: ERROR/AndroidRuntime(502): at android.database.sqlite.SQLiteQuery.<init>(SQLiteQuery.java:49) 11-02 16:49:05.002: ERROR/AndroidRuntime(502): at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:49) 11-02 16:49:05.002: ERROR/AndroidRuntime(502): at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1118) 11-02 16:49:05.002: ERROR/AndroidRuntime(502): at android.database.sqlite.SQLiteDatabase.queryWithFactory(SQLiteDatabase.java:1006) 11-02 16:49:05.002: ERROR/AndroidRuntime(502): at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:964) 11-02 16:49:05.002: ERROR/AndroidRuntime(502): at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1041) 11-02 16:49:05.002: ERROR/AndroidRuntime(502): at MonAppli.main.test(main.java:37) 11-02 16:49:05.002: ERROR/AndroidRuntime(502): at MonAppli.main.onCreate(main.java:18) 11-02 16:49:05.002: ERROR/AndroidRuntime(502): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1123) 11-02 16:49:05.002: ERROR/AndroidRuntime(502): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2364) 11-02 16:49:05.002: ERROR/AndroidRuntime(502): ... 11 more D'après ce que je peux comprendre, le problème viendrait du premier lancement, à la copie de la BDD... Ma BDD est placée dans le répertoire "assets"... Est ce que c'est bien, pas bien? Sinon, ou dois-je le placer? Si vous avez besoin de bouts de code, n'hésitez pas... Et merci d'avance pour le coup de main... Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Kricek Posté(e) 3 novembre 2010 Share Posté(e) 3 novembre 2010 Un ptit up pour la route? lol Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Alocaly Posté(e) 4 novembre 2010 Share Posté(e) 4 novembre 2010 J'avais fait un post sur comment inclure une base de données dans une appli ici : http://androidblogger.blogspot.com/2009/05/how-to-ship-application-with-pre-baked.html Moi, je ne crée pas la partie meta data de la base dynamiquement... Je ne sais pas si ca peut t'aider, mais au cas ou... Emmanuel / Alocaly Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Kricek Posté(e) 4 novembre 2010 Share Posté(e) 4 novembre 2010 (modifié) Salut et merci pour ta réponse! J'avais commencé à jeter un oeil à ton post mais je me suis arrêté à la partie où il faut splitter la bdd.. Est ce que j'ai besoin de le faire étant donné que ma base fait moins de 100Ko? Elle est toute petite (1 table avec 300 entrées, deux avec 700 entrées et deux avec 50...) En tout cas, je vire la metadata... Merci... lol.. Ca fera gagner quelques octets... MDR :D Edit : Je viens de regarder, mon fichier .sqlite fait 46Ko... lol Edit 2: Je viens de réussir à le faire. Alors pour ceux que ca intéresse, le fichier .sqlite doit être placé dans "Assets" puis, effectivement, il FAUT créer une nouvelle base vide dans l'apli puis faire une copie par bytes de notre fichier vers la base vierge pour l'écraser. Modifié 4 novembre 2010 par Kricek 1 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Kricek Posté(e) 5 novembre 2010 Share Posté(e) 5 novembre 2010 @belefti : Ca me regarde peut etre pas mais... Un ptit [Résolu] ajouté au début du titre de ton post serait pas mal... Ca aiderait à voir plus clairement ceux qui ont encore besoin d'un coup de main... ;) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Alocaly Posté(e) 6 novembre 2010 Share Posté(e) 6 novembre 2010 Salut et merci pour ta réponse! J'avais commencé à jeter un oeil à ton post mais je me suis arrêté à la partie où il faut splitter la bdd.. Est ce que j'ai besoin de le faire étant donné que ma base fait moins de 100Ko? Elle est toute petite (1 table avec 300 entrées, deux avec 700 entrées et deux avec 50...) En tout cas, je vire la metadata... Merci... lol.. Ca fera gagner quelques octets... MDR :D Edit : Je viens de regarder, mon fichier .sqlite fait 46Ko... lol Edit 2: Je viens de réussir à le faire. Alors pour ceux que ca intéresse, le fichier .sqlite doit être placé dans "Assets" puis, effectivement, il FAUT créer une nouvelle base vide dans l'apli puis faire une copie par bytes de notre fichier vers la base vierge pour l'écraser. Réponse malgré tout : en fait la partie ou je splitte la base de donnée est inutile. Je le faisais parce que je mettais la base de données dans les resources, ou un fichier ne peut pas etre plus gros que 1 Mo, mais on peut aussi mettre les fichiers dans le répertoire Assets, effectivement, ou il n'y a plus la limite de 1 Mo par fichier... Emmanuel / Alocaly Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Kricek Posté(e) 8 novembre 2010 Share Posté(e) 8 novembre 2010 Je le faisais parce que je mettais la base de données dans les resources, ou un fichier ne peut pas etre plus gros que 1 Mo, mais on peut aussi mettre les fichiers dans le répertoire Assets, effectivement, ou il n'y a plus la limite de 1 Mo par fichier... Du coup, concrètement, quelle est la différence entre le répertoire Assets et le répertoire Resources? Concrètement, pourquoi placeer mon fichier plus dans l'un que dans l'autre? Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Alocaly Posté(e) 9 novembre 2010 Share Posté(e) 9 novembre 2010 Il me semble que les resources sont localisables et adaptables par type d'écrans. Ce n'est pas vrai pour les assets ! Emmanuel / Alocaly Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Kricek Posté(e) 10 novembre 2010 Share Posté(e) 10 novembre 2010 Merci pour ta reponse Alocaly! ^_^ Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
rabeb Posté(e) 12 mai 2011 Share Posté(e) 12 mai 2011 salut j'ai une base de données cree sous sqliteadmin et je suis entrain de develpper une application android sous eclipse comment je peut faire une connection pour untiliser cette base dans mon application????????? merci Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
madoxer Posté(e) 27 mai 2011 Share Posté(e) 27 mai 2011 Bonjour à tous voilà, j'ai utiliser ce tutoriel http://www.reigndesi...d-applications/ mais j'ai la même erreur que kricek: no such table. Après avoir fait un adb pull de ma BD je remarque qu'elle ne contient que android_metadata alors que mes autres tables n'ont pas étaient copier. Si vous avez une idée merci ;) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
zak666 Posté(e) 17 mai 2012 Share Posté(e) 17 mai 2012 Bonjour g un projet a faire qui consiste a faire la meme chose g rencontre ton probleme mais j'arrive pas a le resoudre eest-ce-que tu peut m'envoyer ton fichier source pt m'aider Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Quentin82 Posté(e) 13 mai 2016 Share Posté(e) 13 mai 2016 Bonjour et navré pour la réponse en retard mais je vais poster mon message quand même. Moi, j’ai assimilé une vidéo sur http://www.alphorm.com/tutoriel/formation-en-ligne-android-5-avance pour utiliser SQLite dans une application Android. Peut être que ça pourrait aider quelqu’un aussi. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Rejoignez la conversation
Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.