|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : février 2012 Messages : 6 ![]() |
Bonjour j' ecris ce message par désespoir, je commence a peine le developpement sur android donc j' ai un peu de mal à faire ce que je souhaite. J' espère pouvoir être aidé en postant sur ce forum.
Bref ce que j' aimerai faire c'est représenter un algorigramme étape par étape en proposant a chaque fois les réponses Oui/Non.Je ne sais pas si je suis très clair , peut etre qu' un schéma s'impose Code :
Peut-être faut-il créer un nouvelle activité a chaque fois ? Pouvez-vous m' aider sur la bonne méthode a utiliser ? D'avance, merci. |
||
|
|
00
|
|
|
#2 |
![]() ![]() Ingénieur développement logiciels Inscription : juin 2002 Messages : 1 953 ![]() |
Salut,
Afin de mieux te répondre, il faudrait que tu nous explique quelle étape est bloquante chez toi : - l'algorithmie pour développer ta solution - l'architecture à utiliser sur Android - la graphisme / l'ergonomie de ton application - une partie technique sur le développement (par exemple impossible "d'écouter" un clic sur un bouton). - etc
__________________
Si vous jugez mon post utile dans la résolution de votre problème, n'hésitez pas à utiliser le système de vote afin d'améliorer la qualité du forum
|
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : février 2012 Messages : 6 ![]() |
Et bien mon problème est tout simplement la syntaxe a utiliser.
Comme je l' ai dit je suis parti d' une architecture avec des if/else if mais je ne pense pas avoir fait le bon choix et je pense devoir repartir de zéro. Le programme affiche tout d' abord la première question, puis en fonction du bouton cliqué affiche la question suivante (Qui est donc différente si la réponse et "oui" ou si elle est "non") et recommence la même opération. Comme je le disait je bloque essentiellement sur l'utilisation des listeners sur les boutons oui/non. J'avais pensé ne créer qu' un seul listener, mais il faudrait pouvoir faire un "reset" apres chaque condition pour que le bouton ne soit plus detecter comme cliqué, sinon les condition qui s'executent quand le bonton "oui" est cliqué sont toutes vraies au premier clic au lieu d'attendre un nouvel appui sur un bouton. Ou alors il faudrait que dans chacune des conditions je mette un listener mais dans ce cas le code devient vite très lourd. Pour donner une idée, voici le genre d' algorigramme que je souhaite représenter :
|
|
|
00
|
|
|
#4 | ||||
![]() ![]() Ingénieur développement logiciels Inscription : juin 2002 Messages : 1 953 ![]() |
En faite, il faut déjà commencer par le début et modéliser au mieux tes données.
Ici cela ressemble fortement à un Graphe. Code :
on imagine que tu as un layout XML avec 1 zone de texte (lbTexte) et deux boutons (btOui et btNon). Et voici ce que tu pourrais retrouver dans ton activité : Code :
[edit : Le code est pas compilable, je l'ai écris à la volé ici, donc t'amuse pas à faire copier coller ]
__________________
Si vous jugez mon post utile dans la résolution de votre problème, n'hésitez pas à utiliser le système de vote afin d'améliorer la qualité du forum
|
||||
|
|
10
|
|
|
#5 | ||
|
Invité de passage
![]() Inscription : février 2012 Messages : 6 ![]() |
Merci beaucoup de ta réponse claire et rapide.
Je vais essayer de mettre en place tes conseils pour voir ce que ça donne. Je tiendrai au courrant de mon avancement. Encore merci et a plus tard. ![]() Edit : Re, je suis en train d' experimenter ce que tu m' a proposé mais bute sur quelques obstacles. (Je débute tout juste et je ne saisi pas vraiment tout) Tout d' abord voila ou j' en suis : - J' ai une interface Item - Une classe Question - Une classe Reponse - Une classe MesDonnees - Et bien sur ma classe principale - J' ai recopié ton code en modifiant le nom de mes vues après les avoir déclarées Mes problèmes se posent au niveau de ma classe main. Tout d' abord, tu as ecrit : btOui.setVisible(View.GONE); btNon.setVisible(View.GONE); Je suppose que tu voulais dire : boutonOui.setVisibility(View.GONE); boutonNon.setVisibility(View.GONE); ? Puisque apparement la methode setVisible n' est pas definie pour les Button. Ensuite quelques erreurs se présentent a moi et j' ai un peu de mal a tout comprendre. par exemple : Citation:
Citation:
Merci |
||
|
|
00
|
|
|
#6 | ||
|
Invité de passage
![]() Inscription : février 2012 Messages : 6 ![]() |
Re,
J' ai un peu avancé, fait quelques correction dans ton code (peut-être fausses). Voici le contenu de mon main : Code :
En fait je ne connais pas le concept d' interface, ni son utilité. Pourrais-tu m'aider a corriger ce qui ne va pas ? Merci |
||
|
|
00
|
|
|
#7 |
![]() ![]() Ingénieur développement logiciels Inscription : juin 2002 Messages : 1 953 ![]() |
Ici l'interface que j'ai utilisé est très pauvre et me permet uniquement de typer mes objets.
Dans ton graphe, tu as deux types d'objets de ce que j'ai pu voir : - des questions (avec un intitulé et deux réponses menant à deux issues) - une réponse finale (qui termine le questionnaire). Donc quand tu as une question, si tu réponds oui, tu peux soit tombé sur une nouvelle question, soit sur ta réponse. Donc les "fils" d'une question, sont soient une question, soit une réponse, donc un objet de type "Item" (vu que les objets Question et Reponse implémentent cette interface). Pour la question initiale, il faut que tu es déjà initialisé en entière ton graphe de question. Je t'ai donnée un exemple de comment initialiser le tout en "dur", mais tu peux très bien imaginer décrire ton arbre dans un fichier xml, puis le parser pour initialiser le tout, histoire d'un un peu plus générique sur ton algo.
__________________
Si vous jugez mon post utile dans la résolution de votre problème, n'hésitez pas à utiliser le système de vote afin d'améliorer la qualité du forum
|
|
|
00
|
|
|
#8 | ||||
|
Invité de passage
![]() Inscription : février 2012 Messages : 6 ![]() |
Merci beaucoup de ta réponse même si ce n'est pas vraiment ce que j' attendais.
Bref j'ai réfléchi et ai trouvé les informations que je cherchais. J' ai repris le code a zéro. Voici le main : Code :
Code :
|
||||
|
|
00
|
|
|
#9 | ||||
![]() ![]() Ingénieur développement logiciels Inscription : juin 2002 Messages : 1 953 ![]() |
Si je reprend le premire code que je t'ai donnée, tu peux par exemple faire ça comme ça :
Code :
Code :
__________________
Si vous jugez mon post utile dans la résolution de votre problème, n'hésitez pas à utiliser le système de vote afin d'améliorer la qualité du forum
|
||||
|
|
10
|
|
|
#10 |
|
Invité de passage
![]() Inscription : février 2012 Messages : 6 ![]() |
Super merci,
en fait je suis passé juste a côté, Soit j' instanciait un objet Données dans le Main sans créer l' accesseur, soit je faisait l' inverse. Mais où ai-je la tête En tout cas merci encore de ton aide je pense que là j' ai tout ce qu'il me faut pour la suite. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com