Cours environnement matériel, tutoriel & guide de travaux pratiques en pdf.
Environnement logiciel
Programmation avec le langage java
Intérêt de Java
Logiciels portables
Programmes fiables (rigueur du langage => peu de bogues) Développement rapide Logiciels (ou briques logicielles) téléchargeables, éventuellement automatiquement
Caractéristiques de Java
Un langage orienté-objet :
o portable
o compilé puis interprété (bytecode+JVM)
o robuste (typage fort, pas de pointeurs, garbage collector)
o modulaire (packages)
o intégrant le multi-threading
une énorme librairie de classes standard
Java et les autres langages
Simplifications de Java (par rapport à C++) :
o Pas de manipulation de pointeurs sous forme d’adresse mémoire, gestion
o Mémoire automatique (garbage collector)
o Pas de surcharge des opérateurs
o Pas d’héritage multiple
Eclipse
Figure 10 Logo Eclipse
Eclipse est un IDE, Integrated Development Environment (EDI environnement de développement intégré en français), c’est-à-dire un logiciel qui simplifie la programmation en proposant un certain nombre de raccourcis et d’aide à la programmation. Il est développé par IBM, est gratuit et disponible pour la plupart des systèmes d’exploitation.
Qu’est ce que SDK android
Un SDK, c’est-à-dire un kit de développement dans notre langue, est un ensemble d’outils qui met à disposition un éditeur afin de vous permettre de développer des applications pour un environnement précis. Le SDK Android permet donc de développer des applications pour Android et uniquement pour Android. [6]
Figure 11 Plateforme des développeurs
Notepad ++ :
Pour écrire les scripts PHP nous avons choisi l’éditeur de texte Notepad ++.
Plateforme Android
Figure 12 Logo Android
Le SDK qui permet d’avoir un environnement de développent facilitant la tache du développeur le kit de développement donne l’accès à des exemples, de la documentation mais surtout à l’API de programmation du système et à un émulateur pour tester ses applications.
Stratégiquement, Google utilise la licence Apache pour Android ce qui permet la redistribution du code sous forme libre ou non et d’en faire un usage commercial.
Le plugin Android Développement Tool permet d’intégrer les fonctionnalités du SDK à eclipse.
SYSTEME D’EXPLOITATION
sur :Android est en fait un système de la famille des Linux, pour une fois sans les outils GNU, L’OS s’appuie
Un noyau Linux (et ses drivers)
Une machine virtuelle : Dalvik Virtual Machine
Des applications (navigateur, gestion contact, application de téléphonie…) Des bibliothèques (SSL, SQLite, OpenGL ES,etc…)
[Dalvik] est le nom de la machine virtuelle open-source utilisé sur les systémes Android. Cette machine virtuelle exécute des fichiers .dex, plus ramassés que les .class classiques. Ce format évite par exemple la duplication des String constantes. La machine virtuelle utilise elle-même moins d’espace mémoire et l’adressage des constantes se fait par un pointeur de 32 bits.
Projet ADT
Un projet basé sur le plugin ADT est décomposé de la manière suivante :
src/ : les sources Java du projet
libs/ : bibliothèques tierces
res/ : o res/drawable : ressources images
o res/layout : description des IHMs en XML
o res/values : chaines de caractères dimensions
gent/ : les ressources auto générées par ADT
assets/ : ressources brutes (raw bytes)
bin/ :
o bin/classes : les classes compilées en .class
o bin/classes.dex : exécutable pour la JVM Dalvik
o bin/myapp.zip : les ressources de l’application
o bin/myapp.apk : application empaquetée avec ses ressources et prête pour le déploiement
Les éléments d’une application
Une application Android est composée des éléments suivants :
Des activités (android.app.Activity) : il s’agit d’une partie de l’application présentant une vue à l’utilisateur
Des services (android.app.Service) : il s’agit d’une activité tâche de fond sans vue associée
Des fournisseurs de contenus (android.content.ContentProvider) : permet le partage d’information au sein ou entre applications
Des widgets (android.appwidget.*) : une vue accrochée au Bureau d’Android
Des Intents (android.content.Intent) : permet d’envoyer un message pour un composant externe sans le nommer explicitement
Des récepteurs d’Intents (android.content.BroadcastReceiver) : permet de déclarer être capable de répondre à des Intents
Des notifications (android.app.Notifications) : permettent de notifier l’utilisateur de la survenue d’événements.
Fichier MANIFEST
Le fichier AndroidManifest.xml déclare l’ensemble des éléments de l’application (les activités, les écrans supportés, les permissions, la version de la SDK etc…).
Les ressources
Les ressources de l’application sont utilisées dans le code au travers de la classe statique R.
ADT régénère automatiquement la classe statique R à chaque changement dans le projet.
Toutes les ressources sont accessibles au travers de R, dés qu’elles sont déclarées dans le fichier XML ou que le fichier associé est déposé dans le répertoire adéquat. Les ressources sont utilisées de la manière Suivante : android.R.type_ressources.nom_ressources.
Cycle de vie d’une application Android
Figure 13 Cycle de vie des applications Android
SGBD
Figure 14 Logo SQLte
SQLite est une base de données idéale pour les petits projets. Contrairement à ce que beaucoup gens pensent, Sqlite est le système le plus déployé au monde.
On retrouve Sqlite partout, sur les téléphones mobiles, dans les systèmes embarqués et jusqu’aux navigateurs web de votre ordinateur.