Outils pour utilisateurs

Outils du site


issue62:tutopython

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
issue62:tutopython [2012/08/27 15:00] andre_domenechissue62:tutopython [2012/08/30 15:28] (Version actuelle) auntiee
Ligne 25: Ligne 25:
 Enregistrez votre code sous « atest1.py ». Nous allons envoyer cela à notre machine virtuelle après avoir discuté de ce qu'il fait. Enregistrez votre code sous « atest1.py ». Nous allons envoyer cela à notre machine virtuelle après avoir discuté de ce qu'il fait.
  
-Jetez un coup d'oeil aux quatre premières lignes que nous venons de saisir. Nous créons une boîte de dialogue d'alerte demandant « Voulez-vous jouer à un jeu ? ». Dans le cas d'une boîte de dialogue d'alerte, il n'y a pas de zone de texte pour saisir quoi que ce soit. Les deux lignes suivantes permettent de créer deux boutons, l'un avec le texte « Oui », qui est un bouton « positif », et un avec le texte « Non », un bouton « négatif ». Les boutons positifs et négatifs se réfèrent à la réponse retournée - positive ou négative. La ligne suivante affiche alors la boîte de dialogue. Les sept lignes suivantes attendent une réponse de l'utilisateur.+Jetez un coup d'œil aux quatre premières lignes que nous venons de saisir. Nous créons une boîte de dialogue d'alerte demandant « Voulez-vous jouer à un jeu ? ». Dans le cas d'une boîte de dialogue d'alerte, il n'y a pas de zone de texte pour saisir quoi que ce soit. Les deux lignes suivantes permettent de créer deux boutons, l'un avec le texte « Oui », qui est un bouton « positif », et l'autre avec le texte « Non », un bouton « négatif ». Les boutons positifs et négatifs se réfèrent à la réponse retournée - positive ou négative. La ligne suivante affiche alors la boîte de dialogue. Les sept lignes suivantes attendent une réponse de l'utilisateur.
  
-Nous créons une simple boucle (while True:), puis attendons une réponse pendant 10 secondes en utilisant la fonction droid.eventWait(valeur). La réponse (soit positive soit négative) sera retournée dans - vous l'aurez deviné - la variable reponse. Si cette variable contient « dialog », nous sortons de la boucle et retournons la réponse. Si rien ne se passe avant que le délai soit dépassé, nous sortons simplement de la boucle. L'information réelle retournée dans la variable reponse ressemble à ceci (en supposant qu'on ait choisi le bouton potitif, soit « Oui ») :+Nous créons une simple boucle (while True:), puis attendons une réponse pendant 10 secondes en utilisant la fonction droid.eventWait(valeur). La réponse (soit positive soit négative) sera retournée dans - vous l'aurez deviné - la variable reponse. Si cette variable contient « dialog », nous sortons de la boucle et retournons la réponse. Si rien ne se passe avant que le délai soit dépassé, nous sortons simplement de la boucle. L'information réelle retournée dans la variable réponse ressemble à ceci (en supposant qu'on ait choisi le bouton positif, soit « Oui ») :
  
 {u’data’: {u’which’: u’positive’}, u’name’: u’dialog’, u’time’: 1339021661398000.0} {u’data’: {u’which’: u’positive’}, u’name’: u’dialog’, u’time’: 1339021661398000.0}
Ligne 45: Ligne 45:
 Enfin, nous fermons la boîte de dialogue. Enfin, nous fermons la boîte de dialogue.
  
-Avant que nous puissions envoyer notre code à la machine virtuelle, il faut la faire démarrer. Exécutez votre émulateur Android. Une fois qu'il a démarré, vous remarquerez que la barre de titre contient quatre chiffres au début du titre. Il s'agit du port sur lequel la machine est à l'écoute. Dans mon cas (et probablement le vôtre) il s'agit de 5554.+Avant que nous puissions envoyer notre code à la machine virtuelle, il faut la faire démarrer. Exécutez votre émulateur Android. Une fois qu'il a démarré, vous remarquerez que la barre de titre contient quatre chiffres au début du titre. Il s'agit du port sur lequel la machine est à l'écoute. Dans mon cas (et probablement dans le vôtre) il s'agit de 5554.
  
 Maintenant, nous allons envoyer le code vers notre machine virtuelle. Ouvrez une fenêtre de terminal et allez dans le dossier où vous avez enregistré le code. En supposant que vous avez configuré votre chemin par défaut pour y inclure le SDK, saisissez : Maintenant, nous allons envoyer le code vers notre machine virtuelle. Ouvrez une fenêtre de terminal et allez dans le dossier où vous avez enregistré le code. En supposant que vous avez configuré votre chemin par défaut pour y inclure le SDK, saisissez :
Ligne 64: Ligne 64:
 adb push atest1.py /sdcard/sl4a/scripts/atest1.py** adb push atest1.py /sdcard/sl4a/scripts/atest1.py**
  
-Ceci demande à adb de montrer tous les périphériques qui sont connectés. Cela peut inclure non seulement l'émulateur Android, mais aussi les smartphones, tablettes ou autres appareils Android. Vous devriez voir quelque chose comme ça :+Ceci demande à adb de montrer tous les périphériques qui sont connectés. Cela peut inclure non seulement l'émulateur Android, mais aussi les smartphones, tablettes ou autres appareils Android. Vous devriez voir quelque chose comme ceci :
  
 Liste des périphériques connectés Liste des périphériques connectés
Ligne 89: Ligne 89:
 11 Ko/s (570 octets en 0.046s) 11 Ko/s (570 octets en 0.046s)
  
-Maintenant, sur l'émulateur Android, démarrez SL4A. Vous devriez voir tous les scripts pythonet parmi eux vous devriez voir atest1.py. Appuyez (cliquez) sur « atest1.py »et vous verrez une boîte de dialogue avec 6 icônes. De gauche à droite, on trouve « Exécuter dans une fenêtre de dialogue », « Exécuter en dehors d'une fenêtre », « Éditer », « Enregistrer », « Supprimer », et « Ouvrir dans un éditeur externe ». Pour le moment, appuyez (cliquez) sur l'icône la plus à gauche « Exécuter dans une fenêtre de dialogue » afin que vous puissiez voir ce qui se passe.+Maintenant, sur l'émulateur Android, démarrez SL4A. Vous devriez voir tous les scripts python etparmi euxvous devriez voir atest1.py. Tapez (cliquez) sur « atest1.py » et vous verrez une boîte de dialogue avec 6 icônes. De gauche à droite, on trouve « Exécuter dans une fenêtre de dialogue », « Exécuter en dehors d'une fenêtre », « Éditer », « Enregistrer », « Supprimer », et « Ouvrir dans un éditeur externe ». Pour le moment, tapez (cliquez) sur l'icône la plus à gauche « Exécuter dans une fenêtre de dialogue » afin que vous puissiez voir ce qui se passe.
  
-Vous verrez la première boîte de dialogue vous demandant votre nom. Entrez quelque chose dans la boîte et tapez (cliquez) sur le bouton « Ok ». Vous verrez le message bonjour. Ensuite, vous verrez la boîte de dialogue d'alerte. Appuyez (cliquez) sur l'un des boutons pour fermer la boîte de dialogue. Nous ne regardons pas les réponses pour l'instant alors peu importe celle que vous choisissez. Maintenant, nous allons ajouter un peu plus de code (en haut à droite).+Vous verrez la première boîte de dialogue vous demandant votre nom. Entrez quelque chose dans la boîte et tapez (cliquez) sur le bouton « Ok ». Vous verrez le message bonjour. Ensuite, vous verrez la boîte de dialogue d'alerte. Tapez (cliquez) sur l'un des boutons pour fermer la boîte de dialogue. Nous ne regardons pas les réponses pour l'instant alors peu importe celle que vous choisissez. Maintenant, nous allons ajouter un peu plus de code (en haut à droite).
  
 **I’m sure you can figure out that this set of code simply checks the response, and, if it’s ‘None’ due to a timeout, we simply print “Timed out.” And, if it’s actually something we want, then we assign the data to the variable rdialog. Now add the next bit of code (below)... **I’m sure you can figure out that this set of code simply checks the response, and, if it’s ‘None’ due to a timeout, we simply print “Timed out.” And, if it’s actually something we want, then we assign the data to the variable rdialog. Now add the next bit of code (below)...
Ligne 99: Ligne 99:
 Result(id=12, result={u’item’:1}, error=None)** Result(id=12, result={u’item’:1}, error=None)**
  
-Je suis sûr que vous pouvez imaginer que ce morceau de code vérifie simplement la réponse et, si c'est « Aucune » à cause du temps d'attente, nous affichons simplement « Trop tard ». Et si c'est effectivement quelque chose que nous voulons, alors nous assignons les données à la variable rdialog. Maintenant, ajoutez le bout de code suivant (ci-dessous) :+Je suis sûr que vous comprendrez que ce morceau de code vérifie simplement la réponse et, si c'est « Aucune » à cause du temps d'attente, nous affichons simplement « Trop tard ». Et si c'est effectivement quelque chose que nous voulons, alors nous assignons les données à la variable rdialog. Maintenant, ajoutez le bout de code suivant (ci-dessous) :
  
-Ce morceau de code regardera les données transmises par l'événement d'appui sur un bouton. Nous vérifions si la réponse a une valeur « which » et, si c'est le cas, c'est bien un appui légitime sur un bouton. Nous vérifions ensuite si le résultat est la réponse « positive » (bouton « OK »). Si c'est le cas, nous créons une autre boîte de dialogue d'alerte, mais cette fois nous allons ajouter une liste d'éléments parmi lesquels l'utilisateur choisira. Dans ce cas, nous proposons à l'utilisateur de choisir parmi une liste comprenant Dames, Échecs, Pendu et Guerre nucléaire et nous attribuons les valeurs 0 à 3 pour chaque élément. (Est-ce que cela commence à sembler familier ? Oui, ça vient d'un film.) Nous affichons ensuite la boîte de dialogue et attendons une réponse. La partie de la réponse qui nous intéresse est sous la forme d'un tableau. En supposant que l'utilisateur appuie (clique) sur Échecs, la réponse résultante nous revient comme ça :+Ce morceau de code regardera les données transmises par l'événement d'appui sur un bouton. Nous vérifions si la réponse a une valeur « which » et, si c'est le cas, c'est bien un appui légitime sur un bouton. Nous vérifions ensuite si le résultat est la réponse « positive » (bouton « OK »). Si c'est le cas, nous créons une autre boîte de dialogue d'alerte, mais cette fois nous allons ajouter une liste d'éléments parmi lesquels l'utilisateur choisira. Dans ce cas, nous proposons à l'utilisateur de choisir parmi une liste comprenant Dames, Échecs, Pendu et Guerre nucléaire et nous attribuons les valeurs 0 à 3 pour chaque élément. (Est-ce que cela commence à paraître familier ? Oui, ça vient d'un film.) Nous affichons ensuite la boîte de dialogue et attendons une réponse. La partie de la réponse qui nous intéresse est sous la forme d'un tableau. En supposant que l'utilisateur tape (clique) sur Échecs, la réponse résultante nous revient comme ça :
  
 Result(id=12, result={u’item’:1}, error=None) Result(id=12, result={u’item’:1}, error=None)
Ligne 115: Ligne 115:
 Dans ce cas, nous sommes vraiment intéressés par la partie « result » des données renvoyées. La sélection est le n° 1 et est contenue dans la clé « item ». Voici la partie suivante du code (en haut à droite) : Dans ce cas, nous sommes vraiment intéressés par la partie « result » des données renvoyées. La sélection est le n° 1 et est contenue dans la clé « item ». Voici la partie suivante du code (en haut à droite) :
  
-Ici, nous vérifions pour voir si la réponse contient la clé « item » et, si c'est le cas, nous l'affectons à la variable « sel ». Ensuite nous utilisons une boucle if/elif/else pour vérifier les valeurs et traiter celle qui est  sélectionnée. Nous utilisons la fonction droid.makeToast pour afficher notre réponse. Bien sûr, vous pourriez ajouter votre propre code ici. Maintenant, voici la dernière partie du code (en bas à droite).+Ici, nous vérifions pour voir si la réponse contient la clé « item » et, si c'est le cas, nous l'affectons à la variable « sel ». Ensuite nous utilisons une boucle if/elif/else pour vérifier les valeurs et traiter celle qui est sélectionnée. Nous utilisons la fonction droid.makeToast pour afficher notre réponse. Bien sûr, vous pourriez ajouter votre propre code ici. Maintenant, voici la dernière partie du code (en bas à droite).
  
 Comme vous pouvez le voir, nous répondons simplement aux autres appuis de boutons ici. Comme vous pouvez le voir, nous répondons simplement aux autres appuis de boutons ici.
issue62/tutopython.1346072400.txt.gz · Dernière modification : 2012/08/27 15:00 de andre_domenech