Contactez-nous
Intentions (Intents )
Développement pour mobiles avec Android
H1590 v1 Article de référence

Intentions (Intents )
Développement pour mobiles avec Android

Auteur(s) : Daniel ENSELME

Date de publication : 10 févr. 2013 | Read in English

Logo Techniques de l'Ingenieur Cet article est réservé aux abonnés
Pour explorer cet article plus en profondeur Consulter l'extrait gratuit

Déjà abonné ?

Présentation

1 - Système Android

2 - Composants fondamentaux

3 - Interfaces utilisateur

4 - Intentions (Intents )

  • 4.1 - Actions
  • 4.2 - Catégories
  • 4.3 - Principes de résolution
  • 4.4 - Permissions

5 - Persistance et partage

  • 5.1 - Préférences partagées
  • 5.2 - Menus de préférences
  • 5.3 - Fichiers
  • 5.4 - Bases de données
  • 5.5 - Accès aux bases de données locales

6 - Étude de cas

7 - Développements récents Android 4

8 - Conclusion

Sommaire

Présentation

RÉSUMÉ

La plate-forme Android est un système d'exploitation dédié au développement d'application pour mobiles, PDA, tablettes et autres terminaux domotiques. Les applications Android intègrent naturellement les services Google, Google Maps, Google Talk, Gmail, Google Agenda, YouTube. Des API dédiées à la gestion des multiples capteurs résidents sont disponibles. Android possède des concepts spécifiques et fondamentaux. La notion originale d'"intent" introduit une possibilité de liaison dynamique entre composants de différentes applications. Android propose aussi des mécanismes de persistance et de partage des données internes ou externes.

Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.

Lire l’article

Auteur(s)

  • Daniel ENSELME : Maître de conférence au Conservatoire national des Arts et Métiers - Enseignant-chercheur, Département informatique

INTRODUCTION

Android est un système d'exploitation open source (logiciel libre) fondé sur un noyau Linux version 2.6 (gestion des périphériques, de la mémoire et des processus) orienté vers le développement d'applications pour mobiles, PDA (Personal Digital Assistant), tablettes et autres terminaux domotiques.

L'exécutif Android comprend une machine virtuelle (Dalvik VM) et un ensemble de bibliothèques C/C++ utilisées par les différents composants du système. Les bibliothèques couvrent la téléphonie, le multimédia, le graphisme 2D, 3D, les interfaces utilisateurs (UI), la connectivité (HTTP, Bluetooth, Wi-Fi, EDGE, 3G, GSM).

Android intègre les services Google, Google Maps, Google Talk, Gmail, Google Agenda, YouTube, la géolocalisation et la gestion des capteurs (accéléromètre, gyroscope, pression atmosphérique, température, lumière, champ magnétique, proximité, communication en champ proche).

Historiquement, plusieurs versions d'Android se sont succédées depuis 2009 : V1.5 (Cupcake avril 2009), V1.6 (Donut sept 2009), V 2.1 (Eclair oct 2009), V 2.2 (Froyo mai 2010), V2.3 (Gingerbread nov 2010), V 3.0 (Honeycomb fév 2011), V 4.0 (Ice Cream Sandwich). Avec la version 2.0, Android introduit le multi touch, des capacités de recherche avancées et le « text to speech » ainsi que la possibilité d'utilisation d'HTML 5.

Le framework Android permet la gestion et la réutilisation des composants. Il offre un ensemble de services pour la présentation de vues sur l'écran, l'accès et le partage de données entre applications, la gestion de ressources, des alertes, la gestion du cycle de vie des différentes activités.

Logo Techniques de l'Ingenieur

Cet article est réservé aux abonnés.
Il vous reste 94 % à découvrir.

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


DOI (Digital Object Identifier)

https://doi.org/10.51257/a-v1-h1590

Lecture en cours
Présentation

Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

(236 articles)

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

4. Intentions (Intents )

Chaque application s'exécute dans son propre processus. Les processus sont chacun plongés dans un « bac à sable » (sandbox ), espace d'exécution renforçant la sécurité. Aucune application ne peut donc, par défaut, réaliser des opérations sur les données d'une autre application.

Bien qu'en général, les intents soient utilisés entre composants d'une même application, des questions plus générales se posent :

  • comment transmettre des données d'une application à une autre ?

  • comment invoquer un composant d'une autre application sans en connaître le nom ?

  • comment récupérer les résultats de l'exécution d'une autre application ?

Le concept d'intent permet de contourner les restrictions sécuritaires imposées par le bac à sable. Un intent permet de lier dynamiquement et de manière asynchrone des applications ou des composants.

Un intent réalise une action répondant à certaines spécifications. Il véhicule sous la forme de données toutes les informations nécessaires à la réalisation de l'action. Incarnant une intention, il ne porte pas nécessairement l'identité du composant susceptible d'y répondre.

4.1 Actions

Les actions sont associées à des composants. Un intent peut ainsi invoquer une activité (ou service) à partir d'un nom d'action servant de filtre pour identifier les activités (ou services) candidates.

Invocation d'un intent par une action

String action = "fr.exemple.intent.action.nom_act;

Intent intent = new Intent(action);

startActivity(intent);

L'activité émettrice d'un intent peut demander que lui soit renvoyée une valeur en retour.

Émission d'un intent avec demande de résultat en retour

void startActivityForResult( Intent intent, int requestCode )

La liaison entre action et activité (service) est réalisée statiquement dans le Manifest.

Liaison d'une action à un intent

<activity android:name= …

<intent-filter>

<action android:name= …

</intent-filter>

</activity>

Les actions prédéfinies réalisent les tâches générales propres à...

Logo Techniques de l'Ingenieur

Cet article est réservé aux abonnés.
Il vous reste 92 % à découvrir.

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


Lecture en cours
Intentions (Intents )

Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

(236 articles)

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

Sommaire
Sommaire

BIBLIOGRAPHIE

  • (1) - HASHIMI (S.), KOATINEMI (S.), MACLEAN (D.) -   Pro Android 2.  -  ISBN-13 : 978-1-4302-2659-8 (2010).

  • (2) - GUIGNARD (D.), CHABLE (J.), ROBLES (E.) -   Programmation Android (N.C.). – Programmation Android, De la conception au déploiement avec le SDK Google Android 2.  -  ISBN : 978-2-212-12587-0 (2010).

Logo Techniques de l'Ingenieur

Cet article est réservé aux abonnés.
Il vous reste 93 % à découvrir.

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

(236 articles)

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

Ressources documentaires

Machine virtuelle Java (JVM)

Le succès de Java l'a promu langage de programmation sur internet. Cet article présente une architecture ...

Plate-forme .NET

Le .NET Framework, qui permet la création et l’exécution d’applications modernes conçues autour des ...

Domaine IP multimédia - Interfonctionnement, exemples de services et facturation dans l'IMS

L’objectif de cet article est de présenter le domaine IP multimédia à travers l’interfonctionnement de ...