GNU/Linux Magazine Hors-série N°
Numéro
52

Développement Android

Temporalité
Janvier/Février 2011
Image v3
Développement Android
Article mis en avant

Résumé
Nous allons commencer par introduire les différents concepts présents dans le système Android. Quels sont les principes fondateurs de l'architecture ? Pourquoi ces choix ? Quels sont les avantages et les inconvénients ?

Dans ce numéro...


Ce hors-série a pour objectif de vous faire découvrir les fonctionnalités avancées d'Android. Ces dernières ne sont généralement pas ou peu documentées. Nous avons effectué un travail important de lecture des sources d'Android pour découvrir des trésors cachés. Ceci est le fruit d'un an d'analyse et de recherche.
Nous allons descendre dans l'architecture logicielle du système Android. Quels sont les processus en jeu, que font-ils ? Comment communiquent-ils ?
Nous allons nous intéresser à une technologie peu exploitée par les développeurs d'applications, et pourtant maîtresse de tout le framework : la communication entre les processus.
Nous allons maintenant nous intéresser au développement d'une application native, justifié par une forte volonté d'intégration.
Nous voulons proposer une liste de contacts, avec une interface la plus proche possible de la liste des contacts intégrés dans le téléphone. La particularité de notre implémentation réside dans le fait que les données des contacts sont en ligne et non dans le téléphone.
Nous allons maintenant manipuler l'application standard pour lui faire exécuter des traitements inattendus.
Nous avons une stratégie pour afficher un contact, il faut maintenant s'occuper de l'affichage de la liste de résultat d'une recherche.
Il est temps de s'occuper de l'intégration dans le framework de mise à jour des contacts d'Android.
Nous allons étudier une approche efficace pour gérer un wizard présenté sur plusieurs volets, avec utilisation des animations.
Jusqu'à présent, nous n'avons rien rédigé concernant l'annuaire LDAP. Il est temps de s'en occuper.
Il n'y a pas d'adhérence avec le fait que l'annuaire consulté soit un annuaire LDAP ou d'une autre technologie. Nous pouvons alors envisager d'ouvrir l'application pour permettre d'utiliser différents annuaires en ligne, intégrés dans la même application de consultation.
Comment tester l'application sous tous les environnements et dans toutes les situations ?
Une fois l'application déverminée, il est temps de l'optimiser au maximum, pour tenir compte des contraintes d'un terminal en mobilité, avec peu de mémoire, peu de puissance CPU et peu de batterie. Chaque instruction économisée est de l’autonomie en plus !
Nous souhaitons tirer un petit bénéfice de notre application afin de rembourser les frais de $25 demandés par Google pour pouvoir publier une application, même gratuite, sur sa place de marché. Plusieurs pistes sont possibles : vendre l'application ou y injecter de la publicité. Nous ne souhaitons pas utiliser la deuxième approche.
Pour publier une application Android, plusieurs solutions s'offrent au développeur. Plusieurs places de marché alternatives à l'Android Market de Google sont proposées, permettant de diffuser ces travaux sur des plateformes non soutenues par Google, comme les tablettes Archos (+1 million d’unités vendues !), ou exigeant des commissions moins importantes.
La sécurité d'une application Android présente deux aspects. Il faut se protéger contre une autre application malveillante qui désire exploiter notre application pour nuire à l'utilisateur, et il faut se protéger contre l'utilisateur lui-même qui souhaite pirater notre application pour ne pas dépenser les quelques euros demandés par l'auteur pour son travail.
Notre application paraît très modeste. Elle s'intègre cependant parfaitement dans l'environnement Android.
Nous avons parcouru les différentes approches pour réaliser une application Android. Les choix technologiques dépendent de la complexité de l'application, de son niveau d'intégration avec le système, de sa portabilité avec d'autres ordiphones.
Voici une sélection d’ouvrages.
Les applications web pour mobiles sont des sites spécialement optimisés pour être utilisés par des ordiphones. Pourquoi développer une application pour mobiles avec les technologies web classiques ?

Magazines précédents

Hacks, électronique & embarqué
GNU/Linux-Magazine Hors-série N°51
Hacks, électronique & embarqué
Incontournable Python
GNU/Linux-Magazine Hors-série N°49
Incontournable Python
Voyage au centre de l'embarqué
GNU/Linux-Magazine Hors-série N°47
Voyage au centre de l'embarqué
Focus sur les outils pour mieux exploiter Linux
GNU/Linux-Magazine Hors-série N°46
Focus sur les outils pour mieux exploiter Linux

Les derniers articles Premiums

Les derniers articles Premium

Cryptographie : débuter par la pratique grâce à picoCTF

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

L’apprentissage de la cryptographie n’est pas toujours évident lorsqu’on souhaite le faire par la pratique. Lorsque l’on débute, il existe cependant des challenges accessibles qui permettent de découvrir ce monde passionnant sans avoir de connaissances mathématiques approfondies en la matière. C’est le cas de picoCTF, qui propose une série d’épreuves en cryptographie avec une difficulté progressive et à destination des débutants !

Game & Watch : utilisons judicieusement la mémoire

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Au terme de l'article précédent [1] concernant la transformation de la console Nintendo Game & Watch en plateforme de développement, nous nous sommes heurtés à un problème : les 128 Ko de flash intégrés au microcontrôleur STM32 sont une ressource précieuse, car en quantité réduite. Mais heureusement pour nous, le STM32H7B0 dispose d'une mémoire vive de taille conséquente (~ 1,2 Mo) et se trouve être connecté à une flash externe QSPI offrant autant d'espace. Pour pouvoir développer des codes plus étoffés, nous devons apprendre à utiliser ces deux ressources.

Raspberry Pi Pico : PIO, DMA et mémoire flash

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Le microcontrôleur RP2040 équipant la Pico est une petite merveille et malgré l'absence de connectivité wifi ou Bluetooth, l'étendue des fonctionnalités intégrées reste très impressionnante. Nous avons abordé le sujet du sous-système PIO dans un précédent article [1], mais celui-ci n'était qu'une découverte de la fonctionnalité. Il est temps à présent de pousser plus loin nos expérimentations en mêlant plusieurs ressources à notre disposition : PIO, DMA et accès à la flash QSPI.

Body