Étape 7: Conception d’applications Android
Introduction
Cette Application sera responsable de la communication de passerelle réseau Wi-Fi. Tout d’abord, il demandera pour le login et mot de passe afin que l’utilisateur non autorisé ne sera pas capable de l’utiliser. Il va envoyer des commandes pour des données spécifiques tel que requis par l’utilisateur, puis il affiche ensuite l’envoi de données par passerelle sous forme différente. Il y a des boutons différents pour différents types de données à afficher, chaque clic sur une commande spécifique sera envoyée afin que cette passerelle qui reconnaîtra quelles données doivent être envoyées à l’utilisateur de base de données. Il y a aussi des dispositions pour mettre en marche et éteindre les mètres selon les besoins des utilisateurs de l’application. Ce compteur est intelligent dans le sens que nous pouvons définir une limite de consommation d’énergie dans l’application le compteur va envoyer cette limite à passerelle, passerelle garder trace de consommation d’énergie à partir de cette limite, il s’éteindra automatiquement les appareils.
Dans la photo ci-dessus on peut voir que Meter1 est activé alors que mètre2 n’est pas, ainsi nous serons en mesure d’utiliser les boutons du compteur 1 seulement ; Boutons liés au compteur 2 sont désactivés pour les empêcher d’utilisation accidentelle. Il y a également trois boutons pour envoyer des commandes afin de récupérer des données d’utilisation courante, utilisation des données des semaines précédentes du mois en cours et de la consommation de données veille. Il y a aussi un commutateur pour chaque compteur de l’allumer et éteint, ce qui cause l’appareil pour être mis en/hors service selon notre désir. L’utilisation actuelle sera montrée sur le même écran et les données qui seront affichées sont puissance, tension, courant et l’énergie. Les autres commandes provoquera des données devant figurer sur les différentes activités sous forme de graphiques. Au fond, la zone de texte est de fixer la limite à la consommation mensuelle, au bouton ci-dessous qui vous montrera la consommation d’énergie du mois précédent.
Pour afficher les données sous forme de graphiques, nous avons utilisé Achartengine bibliothèque dont il faut copier dans le dossier libs du projet et il faut ajouter son activité graphique dans notre fichier mainfest. Nous avons utilisé Achartengine car il est gratuit, lite et supporte différents types de graphiques.
Pour envoyer la commande et de recevoir des données, que nous avons utilisé des Sockets flux, parce que dans le cas de UDP prises il doivent être données peuvent être perdues qui entraînera l’application à se comporter de façon anormale. Données envoi et la réception sont un processus fastidieux donc pour chaque communication que sera créé un thread, Communication passera dans son gestionnaire et les résultats seront publiés par l’exécutable dans le thread principal. Lors de la fermeture de chaque thread sera également fermée sa prise. Nous avons aussi utilisé des images de fond, qui doit être copié /bin/res/drawable-mdpi dossier.
WIDGETS ANDROID USÉ-
1. zones de texte - pour afficher différents messages.
2. modifiez les cases – pour prendre l’entrée d’utilisateur.
3. boutons – pour effectuer des mesures en conséquence.
4. commutateurs – pour allumer et éteindre les appareils.
5. activer/désactiver boutons – pour exécuter l’action sur la bascule sur / désactiver.
6. RELATIVE LAYOUT – d’organiser différents widgets à l’écran.
7. LINEAR LAYOUT – d’organiser différents widgets à l’écran.
DIVERSES API et les méthodes utilisés-
1. findViewById
2. onClick
3. onPause
4. onResume
5. onKeyDown
6. onCheckedChange
7. setOnClickListener
8. setOnCheckedChangeListener
9. startActivity
10. putExtra
11. getExtra
12. et bien d’autres
Mécanismes utilisés
SOCKETS douilles sont une méthode de CIB qui permettent l’échange entre les applications, sur le même hôte (ordinateur) ou sur des hôtes différents, reliés par un réseau de données.
Douilles existent dans un domaine de la communication, qui détermine :
1. la méthode d’identification à une prise de courant (par exemple, le format d’une prise « adresse »)
2. et la gamme de communication (c'est-à-dire, soit entre les applications sur le même hôte ou entre applications sur différents hôtes connectés via un réseau).
TYPES de douille sont de deux types
1. Socket TCP
2. Socket UDP
Nous avons utilisé le Socket TCP raison-
Sockets TCP fournit un fiable, bidirectionnel, canal de communication octet-stream. Aux termes de cette description, nous entendons ce qui suit : fiable signifie que nous sommes garantis que soit les données transmises arrivent intacts à l’application réceptrice, exactement telle qu’elle a été transmise par l’expéditeur (en supposant que le lien de réseau ni le récepteur se bloque), ou que nous recevrons la notification d’une probable défaillance dans la transmission.
Bidirectionnelle signifie que les données peuvent être transmises dans les deux sens entre deux prises. Octet-stream signifie que, comme avec les tuyaux, il n’y a aucune notion des limites de message.
THREADS - All la tâche correspondante du réseau ne doit pas être exécuté dans le thread principal car alors notre application deviendra dépourvue. Ainsi, nous devrions utiliser
1. tâche asynchrone ou
2. fils
Nous avons utilisé ici des Threads, un thread pour chaque clic d’effectuer une opération de réseau sera créé qui sera responsable de transfert de données. Nous devons également pour chaque thread implémenter un gestionnaire et un procédé runnable.
GESTIONNAIRE - gestionnaires sont utilisés pour planifier les actions dans le fil, au sens large, nous pouvons dire qu’il file d’attente de la liste des actions à effectuer. Ou à la file d’attente une action à exécuter sur un thread différent.
EXÉCUTABLES – ceux-ci sont exécutés à un moment donné dans l’avenir, partir d’un gestionnaire, nous ne pouvons directement de notre interface utilisateur pour qu’il faut runnables.