-
06avr
Développez une application pour android etape 6 (Enregistrement dans une table)
Dans mon post précédent ici j’ai mis en place une classe permettant la connexion à ma base de données et également une méthode d’enregistrement d’une recette.
dans ma classe principal Recette je vais créer une instance de ma classe BDAcess
private BDAcces objBd;
dans la méthode sur l’action du bouton btEnregRecette.setOnClickListener(new Button.OnClickListener() on rajoute le code suivant à la place du code actuel
1 2 3 4 5 6 7
objBd.open();//connexion à ma base de donnée String sNomRecette = texthaut.getText().toString();//récupération du nom de notre recette String sContenuRecette = textbas.getText().toString();//récupération de la recette long bresult = objBd.insertRecette(sNomRecette, sContenuRecette);//enregistrement dans ma base de données String resultsring = new Long(bresult).toString() ;//conversion du résultat en Type String pour pouvoir l'affiche textbas.setText(resultsring);//affichage du résultat de notre requete dans le champ contenu de la recette objBd.close();//fermeture de ma base de données
Si quand vous cliquez sur votre bouton valider il ‘s’affiche 1 dans le champ contenu recette c’est ok sinon -1 ou un bug dans l’application il faut debugger et sous eclipse il existe de bon outil de debuggage. celui que j’utilise et que je trouve assez simple et la perspective debug,dans window->open perspective->debug

Dans la fenetre obtenue nous avons une vue dediée aux log de ce qui se passe dans l’application sur cette vue on peut également filtrer suivant les erreurs,warning etc…

A suivre afficher la liste des recettes
Il est temps de mettre à profit les tutoriels d’Android France:
Passez à la vitesse supérieure et investissez quelques dizaines d’euros pour acquérir les connaissances qui vous feront gagner de l’argent avec vos applications rendez-vous sur notre boutique Android-france pour ces formations en vidéo
Apprenez à développer en vidéo
75 commentaires
Laissez un commentaire
Vous devez être identifié pour publier un commentaire.
Connexion - Inscription
S'inscrire










voilà ces sont les lignes rouges dans le log cat lorsque je clique sur la boutton valider:
03-25 15:36:55.754: ERROR/AndroidRuntime(1186): Uncaught handler: thread main exiting due to uncaught exception
03-25 15:36:55.823: ERROR/AndroidRuntime(1186): java.lang.NullPointerException
03-25 15:36:55.823: ERROR/AndroidRuntime(1186): at com.application.sqlite.Main$1.onClick(Main.java:63)
03-25 15:36:55.823: ERROR/AndroidRuntime(1186): at android.view.View.performClick(View.java:2179)
03-25 15:36:55.823: ERROR/AndroidRuntime(1186): at android.view.View.onTouchEvent(View.java:3828)
03-25 15:36:55.823: ERROR/AndroidRuntime(1186): at android.widget.TextView.onTouchEvent(TextView.java:6291)
03-25 15:36:55.823: ERROR/AndroidRuntime(1186): at android.view.View.dispatchTouchEvent(View.java:3368)
03-25 15:36:55.823: ERROR/AndroidRuntime(1186): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:863)
03-25 15:36:55.823: ERROR/AndroidRuntime(1186): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:863)
03-25 15:36:55.823: ERROR/AndroidRuntime(1186): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:863)
03-25 15:36:55.823: ERROR/AndroidRuntime(1186): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:863)
03-25 15:36:55.823: ERROR/AndroidRuntime(1186): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1707)
03-25 15:36:55.823: ERROR/AndroidRuntime(1186): at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1197)
03-25 15:36:55.823: ERROR/AndroidRuntime(1186): at android.app.Activity.dispatchTouchEvent(Activity.java:1993)
03-25 15:36:55.823: ERROR/AndroidRuntime(1186): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1691)
03-25 15:36:55.823: ERROR/AndroidRuntime(1186): at android.view.ViewRoot.handleMessage(ViewRoot.java:1525)
03-25 15:36:55.823: ERROR/AndroidRuntime(1186): at android.os.Handler.dispatchMessage(Handler.java:99)
03-25 15:36:55.823: ERROR/AndroidRuntime(1186): at android.os.Looper.loop(Looper.java:123)
03-25 15:36:55.823: ERROR/AndroidRuntime(1186): at android.app.ActivityThread.main(ActivityThread.java:3948)
03-25 15:36:55.823: ERROR/AndroidRuntime(1186): at java.lang.reflect.Method.invokeNative(Native Method)
03-25 15:36:55.823: ERROR/AndroidRuntime(1186): at java.lang.reflect.Method.invoke(Method.java:521)
03-25 15:36:55.823: ERROR/AndroidRuntime(1186): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:782)
03-25 15:36:55.823: ERROR/AndroidRuntime(1186): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:540)
03-25 15:36:55.823: ERROR/AndroidRuntime(1186): at dalvik.system.NativeStart.main(Native Method)
Mr Guy,est ce que vous avez trouver ou ca se bloque?
est ce que code est correcte?
SVP aidez moi
j’espère que j’ai vous envoyé cette fois que vous m’avez demandé
merci
@chouk et @nour envoyez moi vos projets sur guy at android-france point f j’essayerai de regarde ça ce week end
ok,merci beaucoup Mr Guy
Mr Guy,votre e-mail est:guy at android-france point fr ?
@nour oui
SVP Mr Guy,
une question: est ce que je peux voir ma base de données dans laquelle j’ai crée mes 3 tables et comment je peux l’extraire?
merci
Mr Guy, SVP,est ce que vous pouvez me repondre?
j’ai besoin de de l’extraire.j’ai déja SQLite installé sur pc
bonjour Mr Guy,
je t’ai envoyé le projet sur ton adresse e-mail,est ce que vous l’avez reçu?
repond moi SVP
vraiment j’ai besoin de ton aide svp;
merci
Bonsoir Mr Guy,
J’ai vous envoyé le projet à corriger.
J’ai debuggé le projet pat à pat et j’ai remarqué que la connexion marche bien mais je pense qu’ il y a des erreurs sql dans l’insertion et je crois que la récupération du contenu des textfiealds n’est pas correcte.
S.V.P j’ai besoin de votre aide.
Et merci.
bonsoir Mr Guy,
vous m’avez dit de vous relancer ce weekend le projet pour que vous essayez de m’aider.je crois que j’ai resolu le probleme de connexion.mais il reste un probleme dans l’ajout,l’application n’est pas entrain de recuperer le contenu les donnees saisies.on va vous envoyer le projet une autre fois car on a corriger comme on vient de dire le pb de connexion,il rest le pb d’ajout dans la base et l’affichage.SVP nous sommes bloqués on a besoin de ton aide, merci beaucoup
bonjour Mr GUY,
merci bien pour votre attention et pour votre réponse,on a essayé de corriger d’après vos remarques signalées,mais ça marche pas et c’est logique car notre base est vide donc on doit faire fonctionner le bouton ajouter(car dans notre premier champs “code patient” n’apparait ni 1 ni -1) et c’est ça ce qui nous a bloqué et qu’on n’a pas le pu trouver une solution,on sait pas ou exactement reside le pb dans méthode insertPatient.Et puisque le bouton ajouter ne fonctionne pas la base reste vite.
Donc je pense que le problème dans la méthode insertPatient() et précisement les erreurs sql dans l’insertion et je crois que la récupération du contenu des textfiealds n’est pas correcte.
Désolé pour la gêne.
Et vraiment merci bien pour votre aide et j’espère que vous me répondez a mon problème le plus tôt possible.
je pense que l’erreur ici:
public long insertPatient(int x,String sNom_Patient, String sAdresse_Patient,String SNumassu_Patient)throws SQLException
{ System.out.println(“ok insertion”);
ContentValues initialValues = new ContentValues();
initialValues.put(“Code_Patient”, x);
initialValues.put(“Nom_Patient”, sNom_Patient);
initialValues.put(“Adresse_Patient”, sAdresse_Patient);
initialValues.put(“N_Assurance_Patient”, SNumassu_Patient);
mDb.toString();
int s=0;
//return mDb.insert(PATIENT_TABLE, null, initialValues);
try{
System.out.println(“insertion”);
mDb.execSQL(“insert into patient values(1,’ali’,'rueaaa’,’1111′)”);
s=1;
System.out.println(“ok insertion”);
}
catch(Exception e)
{
System.out.println(“ERREUR insertion”);
}
return s;
}
S.V.P j’ai besoin de votre aide.
Et merci.
voilà les erreurs qui s’affiche dans le log cat lorsque je clique sur le buton valider
J’ai essayé plusieurs fois avec ces erreurs mais rien ne change e j’ai pas compris où se trouve l’erreur exactement
J’ai besoin de votre aide et merci.
04-08 15:36:51.862: ERROR/AndroidRuntime(735): at android.app.ActivityThread.main(ActivityThread.java:3948)
04-08 15:36:51.862: ERROR/AndroidRuntime(735): at java.lang.reflect.Method.invokeNative(Native Method)
04-08 15:36:51.862: ERROR/AndroidRuntime(735): at java.lang.reflect.Method.invoke(Method.java:521)
04-08 15:36:51.862: ERROR/AndroidRuntime(735): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:782)
04-08 15:36:51.862: ERROR/AndroidRuntime(735): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:540)
04-08 15:36:51.862: ERROR/AndroidRuntime(735): at dalvik.system.NativeStart.main(Native Method)
Bonsoir,
pour cette instruction
String sNomPatient = textbas.getText().toString();
comment je peut la modifier avec un edittext et non pas un textview
et merci
Bonsoir Mr Guy,
Avec un long travail j’ai arrivé à exécuter le bouton Ajouter mais comme vous avez indiquer dans le tutoriel quand j’ai clique sur ce bouton il ’s’affiche -1 dans le champ Nom_patient.
Lorsque j’ai fait le try catch il m’affiche dans le log cat ok insertion (04-10 15:57:13.913: INFO/System.out(761): ok iiiiiiiinsertion
)mais au même temps il m’affiche une erreur d’insertion(04-10 15:57:13.648: ERROR/Database(761): Error inserting Nom_Patient=anis Numassurance_Patient=123 Adresse_Patient=rue lyeman
). Je veux savoir lorsque il s’affiche -1 l’insertion marche ou pas si nom quel est le problème car je suis bloqué à ce stade là et je ne trouve aucune solution.J’ai besoin de votre aide Please please je suis 24/24 sur le PC et je trouve pas le problème.Et merci bien.
Salut,
En fait, après le clic sur un bouton, je n’arrivais pas à passer d’un écran à l’autre. et j’ai remarqué cette erreur dans le logcat:
Can’t dispatch DDM chunk 46454154: no handler defined
Je ne sais pas trop ce que c’est par contre, j’avais oublié de déclarer dans le fichier AndroidManifest.xml l’autre activité correspondant à l’écran qui ne s’affichait pas. Du coup, mon problème s’était réglé mais l’erreur dans le logcat est tout de même resté.
A+
Tuto bourré de fautes, et en particulier dans le code. ça commence à être lourd. je laisse tomber.
Bonjour,
étant débutant je me suis lancé dans ce tuto pour apprendre à utiliser les bases de données, cependant je reste bloqué à l’étape du clic sur le bouton “valider”.
à la ligne : objBd.open();
j’obtient le message Thread [ main ] (Suspended (exeption NullPointerExeption)), sauriez vous m’aider à résoudre ce problème ?
Cordialement,
Reynholds Reinette
@Reinette cette erreur arrive généralement quand vous avez pas crée un instance de objBd
Bonjour,
Je suis aussi bloqué ici.
QQn pourrait-il mettre le code des deux fichiers java en entier. Merci.
Juste pour cocher la case “Prévenez-moi des nouveaux commentaires par email”