Chapitre 1 : Retour en arrière 1 Chapitre 1 Retour en arrière © Mohamed N. Lokb

Chapitre 1 : Retour en arrière 1 Chapitre 1 Retour en arrière © Mohamed N. Lokbani 1.03 Programmation mobile à plateforme libre Chapitre 1 : Retour en arrière 2 1. Difficultés de développer pour les systèmes embarqués Quelques contraintes à prendre en compte : - Mémoire: il y a moins de mémoire dans un téléphone intelligent que dans un PC. - Gestion des ressources: appel téléphonique pendant le déroulement d'une partie de jeu. - Optimisation pour une meilleure efficacité. - Taille de l'écran. - Disposition des éléments et accès à ces éléments (stylet, gros doigts, etc.). - Une variété de langues. © Mohamed N. Lokbani 1.03 Programmation mobile à plateforme libre Chapitre 1 : Retour en arrière 3 2. Pourquoi Android? Écouter les explications des concepteurs d'Android : http://www.youtube.com/watch?v=6rYozIZOgDk Le but de départ était de développer un système d’exploitation pour des caméras numériques. Vu que le marché n’était pas assez large, le projet a été détourné pour les téléphones intelligents. L’idée était donc de créer un système d’exploitation capable d’avoir des outils pouvant interagir avec l’environnement de l’utilisateur (prendre une photo et dire exactement l’endroit où elle a été prise). © Mohamed N. Lokbani 1.03 Programmation mobile à plateforme libre Chapitre 1 : Retour en arrière 4 3. La philosophie d'Android - Android est basé sur le système d'exploitation Linux. - Android est un projet "Open source", distribué gratuitement. - Le système est développé par l'alliance OHA (Open Handset Alliance) et Google. http://www.openhandsetalliance.com/ http://fr.wikipedia.org/wiki/Open_Handset_Alliance - Cette alliance regroupe : * Opérateurs de téléphonie mobile * Fabricants de semi-conducteurs * Fabricants d'appareils * Concepteurs de logiciels * Sociétés responsables de la commercialisation © Mohamed N. Lokbani 1.03 Programmation mobile à plateforme libre Chapitre 1 : Retour en arrière 5 - Android permet le traitement d'une panoplie d'applications natives : téléphonie, courriel, agenda, GPS, multimédia, messagerie, etc. - API Android est à la disponibilité de la communauté des développeurs. Ceci permet l'extension des applications. - Google Play (Android Market) : est la plateforme sur laquelle un développeur peut vendre son application. Si l’intention est de vendre son application, un développeur doit payer des droits d’accès de 25$, une fois lors de l’ouverture du compte. Le développeur reçoit dans ce cas 70% des revenus acquis. - Ce n'est pas tous les pays qui peuvent vendre des applications sur Google Play : http://fr.wikipedia.org/wiki/Google_Play Des contraintes de copyright (voir le cas de la vidéo pour le Canada) ou logistique (taxes, institutions financières, etc.). © Mohamed N. Lokbani 1.03 Programmation mobile à plateforme libre Chapitre 1 : Retour en arrière 6 4. L’historique d'Android Voir ce lien : http://www.xcubelabs.com/the-android-story.php © Mohamed N. Lokbani 1.03 Programmation mobile à plateforme libre Chapitre 1 : Retour en arrière 7 La répartition de l’installation des versions d’Android : http://en.wikipedia.org/wiki/Android_version_history © Mohamed N. Lokbani 1.03 Programmation mobile à plateforme libre Chapitre 1 : Retour en arrière 8 Pour des statistiques sur un mois : http://www.appbrain.com/stats/top-android-sdk-versions © Mohamed N. Lokbani 1.03 Programmation mobile à plateforme libre Chapitre 1 : Retour en arrière 9 http://developer.android.com/about/dashboards/index.html Version Codename API Distribution 2.2 Froyo 8 0.5% 2.3.3 - 2.3.7 Gingerbread 10 9.1% 4.0.3 - 4.0.4 Ice Cream Sandwich 15 7.8% 4.1.x Jelly Bean 16 21.3% 4.2.x 17 20.4% 4.3 18 7.0% 4.4 KitKat 19 33.9% Les données ont été collectées sur 1 semaine, 1 décembre. Les versions dont le pourcentage est inférieur à 1% ne sont pas prises en compte. © Mohamed N. Lokbani 1.03 Programmation mobile à plateforme libre Chapitre 1 : Retour en arrière 10 Taille et résolution de l’écran http://developer.android.com/about/dashboards/index.html ldpi mdpi tvdpi hdpi xhdpi xxhdpi Total Small 5.4% 5.4% Normal 9.4% 0.2% 36.9% 18.8% 16.3% 81.6% Large 0.5% 4.6% 2.0% 0.6% 0.6% 8.3% Xlarge 3.8% 0.3% 0.6% 4.7% Total 5.9% 17.8% 2.2% 37.8% 20.0% 16.3% Normal : 470x320 dp, 480x800 hdpi http://stefan222devel.blogspot.ca/2012/10/android-screen-densities-sizes.html © Mohamed N. Lokbani 1.03 Programmation mobile à plateforme libre Chapitre 1 : Retour en arrière 11 5. La compétition L'évolution des systèmes d'exploitation pour les mobiles : http://www.xcubelabs.com/evolution-of-mobile-operating-systems.php La part de marché pour chaque OS : http://www.idc.com/prodserv/smartphone-os-market-share.jsp La part de marché pour chaque vendeur : http://www.idc.com/prodserv/smartphone-market-share.jsp + Apple (ios) + Microsoft (windows) + BlackBerry (ex-RIM) - Palm (WebOS) - Nokia (Symbian) http://blog.flurry.com © Mohamed N. Lokbani 1.03 Programmation mobile à plateforme libre Chapitre 1 : Retour en arrière 12 6. Android et outils de développement - JDK http://www.oracle.com/technetwork/java/javase/downloads/index.html - Eclipse http://www.eclipse.org/downloads/ - Android SDK http://developer.android.com/sdk/index.html - Android Development Tools (ADT) dans Eclipse http://developer.android.com/sdk/installing/installing-adt.html - Ajouter les paquetages http://developer.android.com/sdk/installing/adding-packages.html API : 10 (gingerbread), 15 (ice cream sandwich),18 (jellybean), 19 (kitkat) et 21 (lollipop). © Mohamed N. Lokbani 1.03 Programmation mobile à plateforme libre Chapitre 1 : Retour en arrière 13 © Mohamed N. Lokbani 1.03 Programmation mobile à plateforme libre Plugin ADT Eclipse SDK Android Java Installation Chapitre 1 : Retour en arrière 14 7. Émulateur Avantage : on peut simuler ce que l’on veut. Inconvénient: on ne peut pas juger les performances (GPS?) ... ce n'est qu'un émulateur après tout. Pour des tests réels, pas mieux qu’un vrai appareil mais faites attention à la version d’Android qu’il contient pour éviter d’être piégé. Prendre en exemple le « Nexus S par Google », une carte mémoire de 40Mo. © Mohamed N. Lokbani 1.03 Programmation mobile à plateforme libre Chapitre 1 : Retour en arrière 15 8. Connecter son appareil Besoin d’un driver? http://developer.android.com/tools/extras/oem-usb.html 9. Se connecter à distance - Ouvrir un terminal et se positionner dans le répertoire « android-sdks/platform- tools ». - La commande « adb devices » liste tous les terminaux connectés à votre machine. - Ouvrir un shell à distance sur le terminal « adb –s emulator-5554 shell », où « emulator-5554 » est le nom du terminal. © Mohamed N. Lokbani 1.03 Programmation mobile à plateforme libre Chapitre 1 : Retour en arrière 16 - La commande « ls » pour connaitre les différentes commandes. - On se connecte à distance sur le terminal avec la commande « telnet » : « telnet localhost 5554 » (où 5554 est l’identificateur du port de communication associé à votre terminal). - On envoie un message « sms send 5143436111 ceci est un test ». - On peut même l’appeler …. « gsm call 5143436111 » Y-a quelqu’un? - Si je veux transférer un fichier … patience! © Mohamed N. Lokbani 1.03 Programmation mobile à plateforme libre Chapitre 1 : Retour en arrière 17 10. Eclipse et quelques perspectives - JAVA - Debug - DDMS (Dalvik Debug Monitor Server): possiblité de faire des appels. © Mohamed N. Lokbani 1.03 Programmation mobile à plateforme libre Chapitre 1 : Retour en arrière 18 11. Constructeur de phrases ou « Phrazibus » - Nous allons construire une application Android et la déployer sur l’émulateur « Nexus S ». - L’exemple à utiliser est disponible ici : http://www.iro.umontreal.ca/~lokbani/cours/ift1176/communs/Cours/ZIP/gui.zip - La version « swing » de l’application est le fichier « Phrazibus7.java ». Profitez de l’occasion pour jeter un œil attentif aux notes du cours associé à cet exemple. - Une nouvelle version de ce fichier est disponible, compilée sous Java 8, sur le site web du cours « IFT1155 ». - L’application « Phrazibus » a pour but de générer un ensemble de phrases. - Chaque phrase doit-être composée obligatoirement d’un sujet, d’un verbe et d’un complément d’objet direct. - Si cette contrainte n’est pas respectée, la phrase ne sera pas affichée. © Mohamed N. Lokbani 1.03 Programmation mobile à plateforme libre Chapitre 1 : Retour en arrière 19 - Nous ajoutons aussi un bouton qui permettra de remettre l’application à zéro afin de réaliser un test de nouveau. - Voici le résultat obtenu en Java : - 3 variantes de l'approche algorithmique associée à cette application sont disponibles dans le paquetage de cet exemple. © Mohamed N. Lokbani 1.03 Programmation mobile à plateforme libre uploads/s3/ c01-retourenarriere-1p.pdf

  • 32
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager