belefti Posted May 31, 2010 Share Posted May 31, 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 Quote Link to comment Share on other sites More sharing options...
Guest Posted June 3, 2010 Share Posted June 3, 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 ;) Quote Link to comment Share on other sites More sharing options...
Cyril Mottier Posted June 3, 2010 Share Posted June 3, 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 Quote Link to comment Share on other sites More sharing options...
belefti Posted June 3, 2010 Author Share Posted June 3, 2010 merci bcp les gars pour les réponses :) Quote Link to comment Share on other sites More sharing options...
Kricek Posted November 2, 2010 Share Posted November 2, 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... Quote Link to comment Share on other sites More sharing options...
Kricek Posted November 3, 2010 Share Posted November 3, 2010 Un ptit up pour la route? lol Quote Link to comment Share on other sites More sharing options...
Alocaly Posted November 4, 2010 Share Posted November 4, 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 Quote Link to comment Share on other sites More sharing options...
Kricek Posted November 4, 2010 Share Posted November 4, 2010 (edited) 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. Edited November 4, 2010 by Kricek 1 Quote Link to comment Share on other sites More sharing options...
Kricek Posted November 5, 2010 Share Posted November 5, 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... ;) Quote Link to comment Share on other sites More sharing options...
Alocaly Posted November 6, 2010 Share Posted November 6, 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 Quote Link to comment Share on other sites More sharing options...
Kricek Posted November 8, 2010 Share Posted November 8, 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? Quote Link to comment Share on other sites More sharing options...
Alocaly Posted November 9, 2010 Share Posted November 9, 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 Quote Link to comment Share on other sites More sharing options...
Kricek Posted November 10, 2010 Share Posted November 10, 2010 Merci pour ta reponse Alocaly! ^_^ Quote Link to comment Share on other sites More sharing options...
rabeb Posted May 12, 2011 Share Posted May 12, 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 Quote Link to comment Share on other sites More sharing options...
madoxer Posted May 27, 2011 Share Posted May 27, 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 ;) Quote Link to comment Share on other sites More sharing options...
zak666 Posted May 17, 2012 Share Posted May 17, 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 Quote Link to comment Share on other sites More sharing options...
Quentin82 Posted May 13, 2016 Share Posted May 13, 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. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.