couleur

android

En construction

Poly complet

Architecture

Le noyau est un système Linux.

Androïd incorpore une machine JAVA. Cependant, il s'agit d'une version adaptée, certains aspects ont été modifiés, et à mon avis améliorés.

Le développement se fait donc en Java.

Par contre et contrairement au développement SWING, le visuel de l'interface est défini en XML.

Outils de développement

Le plus simple est d'utiliser Eclipse et les ajouts proposés par Google ou mieux encore Androïd Studio. Il faut en particulier installer le SDK. Toute cette procèdure est bien expliquée sur le site de google / androïd.

Outils de test

Google fournit un simulateur. Cependant il est lent. Il est fnalement plus simple d'utiliser une tablette pour tester.

Layout

La disposition de l'interface se fait en XML. C'est donc la même logique qu'une page Html.

Plus précisement, l'approche ressemble beaucoup à Xaml / C sharp de Microsoft dot net.

Les éléments de l'interface sont accessibles au code Java par une technique de binding. Les exemples fournis par Google sont clairs.

Vous pouvez définir un layout différent pour chaque taille d'écran.

Code événementiel

Vous pouvez comme en Java traditionnel utiliser des classes écouteurs. Cependant il est possible, comme en dot net WPF, de définir le nom de la fonction évenementielle directement dans le XML ce qui est donc beaucoup plus simple ... et lisible. Parfois, cependant, dans des cas complexes , vous devrez utiliser des classes écouteurs.

Les activités

Cette notion est délicate à comprendre. Sa logique n'est pas celle de Windows traditionnel.

Les fragments

L'un des défis de la programmation Androïd est d'adapter le visuel, à l'écran. Ce que l'on peut faire par des layouts adaptés. Les fragments permettent d'aller plus loin en définissant chaque écran comme une combinaison de fragments relativement autonomes.  Bien sur ,selon la taille de l'écran , vous disposerez les fragments de maniére adaptée. Vous pouvez aussi à l'exécution remplacer un fragment par un autre, de manière dynamique. Vous pouvez même avoir une navigation différente selon la largeur de l'écran. Google fournit un canevas pour vous aider, c'est un peu délicat à comprendre, mais là est la force d'Androïd.

Pour chaque fragment vous devez développer une classe et un layout.

Les fragments sont pilotés par une ou plusieurs activités

Services web

Une application a souvent pour mission d'afficher des informations, probablement accessibles depuis une base de données.

Souvent il existe déjà une version de l'application desktop ou web.

Le plus simple pour éviter de devoir réécrire 3 fois le code d'accès aux données, est d'offrir les données sous la forme de service web. Il faut donc savoir appeler un service web depuis Androïd. Le service web peut être disponible sous la forme Rest ou Soap.  Vous pouvez aussi bien développer un client Soap qu'un client Rest, mais le client Rest est plus aisé.

Vous devez effectuer l'appel du service web dans un thread spécifique pour éviter de geler l'interface. Le SDK vous propose une classe AsyncTask que vous pouvez dériver à cet effet. L'usage en est bien documenté par Google.