1. Livres et vidéos
  2. Android - Guide de développement d'applications Java pour Smartphones et Tablettes (4e édition)

Android Guide de développement d'applications Java pour Smartphones et Tablettes (4e édition)

  • Accès illimité 24h/24, 7J/7
  • Tous les livres en ligne, les vidéos et les cours enregistrés ENI
  • Plus de 10 nouveautés livres et vidéos chaque mois
  • Les nouveautés disponibles le jour de leur sortie
  • Accès 100% en ligne
  • En stock
  • Expédié en 24h00
  • Livraison à partir de 0,01 €
  • Version en ligne offerte
  • 1 h d'accès gratuit à tous nos livres et vidéos pour chaque commande
  • Accessible immédiatement
  • Version HTML
  • Accès illimité 24h/24, 7J/7

Présentation

Véritable guide d'apprentissage, ce livre accompagne le lecteur dans le développement d'applications Android pour smartphones et tablettes tactiles. Il s'adresse aux développeurs disposant d'un minimum de connaissances sur la programmation orientée objet, le langage Java et les environnements de développement intégrés type Eclipse et couvre toutes les versions d'Android jusqu'à la 9 incluse.

Le livre présente l'intégralité du processus de création d'applications, de la mise en place de l'environnement de développement Android Studio jusqu'à la publication de l'application, et décrit une large sélection de fonctionnalités proposées par le système Android.

Vous découvrirez dans un premier temps la plateforme Android, vous installerez l'environnement de développement Android Studio et vous créerez sans attendre votre première application. Vous étudierez ensuite comment se construit l'interface utilisateur et prendrez connaissance des composants applicatifs fondamentaux ainsi que des nouveaux composants d’interface. Vous apprendrez à développer des interfaces complexes qui s'adaptent aux écrans des tablettes et smartphones et à construire vos propres composants réutilisables. Puis seront présentées la persistance des données, la programmation concurrente, la sécurité et la communication réseau, en intégrant la bibliothèque spécialisée Volley. Un chapitre vous expliquera comment intégrer les réseaux sociaux dans vos applications.

Pour pouvoir proposer des applications les plus qualitatives possibles, vous découvrirez comment déboguer efficacement vos applications et tester votre application en utilisant les fonctionnalités dédiées d’Android Studio. Vous serez enfin guidé pas à pas pour publier vos applications vers les utilisateurs du monde entier.

Le livre se termine en présentant les mécanismes de géolocalisation, l’intégration de solutions de cartographie type Open Street Map et l'utilisation des capteurs intégrés dans les terminaux Android. Sont également traités en détail des sujets avancés tels que la création d'AppWidget, la protection des applications payantes (LVL), les achats in-app ainsi que les communications NFC et les objets connectés.

À l'issue de cette lecture, vous serez capable de développer et publier des applications, de qualité, natives Android (dans ses différentes versions) pour smartphones et tablettes tactiles.

Pour illustrer de façon pratique ses propos, l'auteur propose en téléchargement sur le site www.editions-eni.fr un ensemble de projets reprenant toutes les notions présentées dans le livre. Tous les modules sont fonctionnels, directement exploitables et fournissent une solide structure de base pour vos développements.


Les chapitres du livre :
Avant-propos – L'univers Android – Premiers pas – Les bases de l'interface utilisateur – Composants avancés – Styles, navigation et notifications – Interface utilisateur avancée – La persistance des données – Intentions, récepteurs d'événements et services – Concurrence, sécurité et réseau – Réseaux sociaux – Tracer, déboguer et tester – Publier une application – Capteurs et géolocalisation – La technologie NFC – Objets connectés – Fonctionnalités avancées

Table des matières

  • Avant-propos
    • 1. Introduction
    • 2. À qui s'adresse cet ouvrage ?
    • 3. Connaissances nécessaires pour aborder cet ouvrage
    • 4. Objectifs à atteindre
    • 5. Téléchargements
    • 6. Informations complémentaires
    • 7. Ressources
  • L'univers Android
    • 1. Introduction
    • 2. Présentation d'Android
      • 2.1 Open Handset Alliance
      • 2.2 Historique
      • 2.3 Versions d'Android
        • 2.3.1 Chronologie des versions
        • 2.3.2 Répartition des distributions Android
      • 2.4 Architecture
    • 3. Environnement de développement
      • 3.1 Prérequis
      • 3.2 Android Studio
        • 3.2.1 Téléchargement
        • 3.2.2 Installation
  • Premiers pas
    • 1. Premier projet Android
      • 1.1 Création du projet
      • 1.2 Organisation du projet
      • 1.3 Compilation et exécution de l'application
        • 1.3.1 Sur l'émulateur Android
        • 1.3.2 Sur un appareil Android
    • 2. Structure d'un projet Android
      • 2.1 Structure du projet
      • 2.2 Gradle
        • 2.2.1 Configuration niveau projet
        • 2.2.2 Configuration niveau app
      • 2.3 Le manifeste
        • 2.3.1 Balise manifest
        • 2.3.2 Balise uses-sdk
        • 2.3.3 Balise application
      • 2.4 Les ressources
    • 3. Qualification des ressources
      • 3.1 Écrans
      • 3.2 Internationalisation
      • 3.3 Autres qualificatifs
  • Les bases de l'interface utilisateur
    • 1. Introduction
    • 2. Concepts de base
      • 2.1 Activités et Layout
      • 2.2 Mode programmatique et mode déclaratif
      • 2.3 Vues
    • 3. Layouts
      • 3.1 Création en mode déclaratif
      • 3.2 Création en mode programmatique
    • 4. Widgets
      • 4.1 Déclaration
      • 4.2 Utilisation
      • 4.3 Découverte de quelques widgets
        • 4.3.1 TextView (champ de texte)
        • 4.3.2 EditText (champ de texte de saisie)
        • 4.3.3 Button (bouton)
        • 4.3.4 Autres widgets
      • 4.4 Première utilisation
    • 5. Activités
      • 5.1 Déclaration
      • 5.2 Cycle de vie
        • 5.2.1 onCreate
        • 5.2.2 onStart
        • 5.2.3 onResume
        • 5.2.4 onPause
        • 5.2.5 onStop
        • 5.2.6 onRestart
        • 5.2.7 onDestroy
        • 5.2.8 Récapitulatif
      • 5.3 Lancement
      • 5.4 Sauvegarde et restauration de l'état
      • 5.5 Pile d’activités
  • Composants avancés
    • 1. Introduction
    • 2. Fragment
      • 2.1 Intégration du fragment
        • 2.1.1 Mode déclaratif
        • 2.1.2 Mode programmatique
        • 2.1.3 Bibliothèque de support
      • 2.2 Fragments et mise en page adaptative
      • 2.3 Cycle de vie
        • 2.3.1 onAttach
        • 2.3.2 onCreateView
        • 2.3.3 onActivityCreated
        • 2.3.4 onDestroyView
        • 2.3.5 onDetach
      • 2.4 Sauvegarde et restauration de l'état
      • 2.5 Pile de fragments
    • 3. Liste
      • 3.1 Implémentation standard
        • 3.1.1 Layout des éléments de la liste
        • 3.1.2 Adaptateur
        • 3.1.3 Implémentation
      • 3.2 Implémentation spécifique
        • 3.2.1 Layout des éléments de la liste
        • 3.2.2 Adaptateur
      • 3.3 Interactions avec un composant ListView
        • 3.3.1 Sélection d’un élément
        • 3.3.2 Mise à jour de la liste
      • 3.4 Le composant Liste déroulante
    • 4. Créer ses propres composants
      • 4.1 Surcharger un composant existant
        • 4.1.1 Étendre une classe du package android.widget
        • 4.1.2 Intégrer le nouveau composant dans un layout
        • 4.1.3 Ajouter des attributs personnalisés
      • 4.2 Réunir un ensemble de composants
      • 4.3 Construire entièrement un composant
        • 4.3.1 Implémenter onDraw()
        • 4.3.2 Implémenter onMeasure()
        • 4.3.3 Obtenir les dimensions de l'écran
  • Styles, navigation et notifications
    • 1. Introduction
    • 2. Styles et thèmes
      • 2.1 Les styles
      • 2.2 Notion de thème
      • 2.3 Héritage
    • 3. Menus
      • 3.1 Déclaration
      • 3.2 Utilisation
      • 3.3 Menu d'activité
        • 3.3.1 Création
        • 3.3.2 Utilisation
      • 3.4 Menu contextuel
        • 3.4.1 Création
        • 3.4.2 Utilisation
      • 3.5 Menus pop-up
    • 4. Barre d'action
      • 4.1 Intégration
        • 4.1.1 Dans le fichier de layout
        • 4.1.2 Dans l’activité
      • 4.2 Personnalisation de la barre d’action
        • 4.2.1 Images et titre
        • 4.2.2 Icône de l'application
    • 5. Notifications
      • 5.1 Toast
      • 5.2 Boîte de dialogue
        • 5.2.1 Tour d'horizon
        • 5.2.2 Boîte de dialogue d'alerte
      • 5.3 Barre de notification
        • 5.3.1 Création d'une notification basique
        • 5.3.2 Compléter une notification
        • 5.3.3 Interagir avec une notification
  • Interface utilisateur avancée
    • 1. Introduction
    • 2. Mise en page complexe
      • 2.1 Choix du layout
      • 2.2 Positionnement relatif
      • 2.3 Utiliser les poids
      • 2.4 Utiliser les ressources « dimension »
      • 2.5 Travailler avec le constraintLayout
    • 3. Utiliser le Navigation Drawer
      • 3.1 Mettre en place le panneau de navigation
      • 3.2 Utiliser le panneau de navigation
        • 3.2.1 Détecter les événements d'ouverture/fermeture
        • 3.2.2 Navigation Drawer et ActionBar
        • 3.2.3 Forcer l'ouverture du panneau au lancement de l'activité
      • 3.3 Remplir le panneau de navigation
    • 4. Créer des images redimensionnables
      • 4.1 Les images 9-patch
        • 4.1.1 Présentation
        • 4.1.2 Créer des images 9-patch
      • 4.2 Les drawables XML
        • 4.2.1 Définir une forme en XML
        • 4.2.2 Modifier la forme initiale
        • 4.2.3 Combiner plusieurs formes
  • La persistance des données
    • 1. Introduction
    • 2. Fichiers de préférences
      • 2.1 Cibler le fichier
      • 2.2 Lecture
      • 2.3 Écriture
      • 2.4 Suppression
    • 3. Fichiers
      • 3.1 Stockage interne
        • 3.1.1 Écriture
        • 3.1.2 Lecture
        • 3.1.3 Supprimer un fichier
      • 3.2 Stockage externe
        • 3.2.1 Disponibilité du support
        • 3.2.2 Accès et emplacements
        • 3.2.3 Fichiers communs
      • 3.3 Fichiers temporaires
        • 3.3.1 Stockage interne
        • 3.3.2 Stockage externe
    • 4. Bases de données SQLite
      • 4.1 Création d'une base de données
      • 4.2 Traitements et requêtes SQL
        • 4.2.1 Navigation dans les résultats
        • 4.2.2 Lecture de données
      • 4.3 Mises à jour
      • 4.4 Optimisation pour la recherche textuelle
        • 4.4.1 Création et peuplement de la table
        • 4.4.2 Interrogation
    • 5. Fournisseur de contenus
      • 5.1 Interface et URI
      • 5.2 Requêtes
      • 5.3 Ajout d'un enregistrement
      • 5.4 Suppression d'enregistrements
    • 6. Sauvegarde dans les nuages
      • 6.1 Souscrire à l'Android Backup Service
      • 6.2 Configuration de la clé
      • 6.3 Agent de sauvegarde
        • 6.3.1 Configuration
        • 6.3.2 BackupAgentHelper
      • 6.4 Gestionnaire de sauvegarde
        • 6.4.1 Demander une sauvegarde
        • 6.4.2 Tester le service
    • 7. Prise en charge du JSON
      • 7.1 Présentation du format JSON
      • 7.2 Interprétation du format JSON
  • Intentions, récepteurs d’événements et services
    • 1. Introduction
    • 2. Intention
      • 2.1 Intention explicite
      • 2.2 Intention implicite
        • 2.2.1 Création
        • 2.2.2 Filtre d’intention
      • 2.3 Intention en attente
    • 3. Récepteur d'événements
      • 3.1 Événement
      • 3.2 Déclaration
      • 3.3 Cycle de vie
    • 4. Service
      • 4.1 Déclaration
      • 4.2 Utilisation directe
      • 4.3 Utilisation en établissant une connexion
      • 4.4 Cycle de vie
        • 4.4.1 onCreate
        • 4.4.2 onStartCommand
        • 4.4.3 onBind
        • 4.4.4 onUnbind
        • 4.4.5 onDestroy
      • 4.5 IntentService
  • Concurrence, sécurité et réseau
    • 1. Introduction
    • 2. Processus
      • 2.1 android:process
      • 2.2 Partage de processus
    • 3. Programmation concurrente
      • 3.1 AsyncTask
      • 3.2 Thread
        • 3.2.1 Création
        • 3.2.2 runOnUIThread
        • 3.2.3 Communication interthreads
    • 4. Sécurité et droits
      • 4.1 Les droits avant Android MarshMallow
      • 4.2 Les droits sous Android MarshMallow
      • 4.3 Déclaration de droits
      • 4.4 Restriction d'utilisation
    • 5. Réseau
      • 5.1 Agent utilisateur
      • 5.2 AndroidHttpClient
      • 5.3 Utilisation de la bibliothèque Volley
        • 5.3.1 Intégration de Volley
        • 5.3.2 Requêtes de type chaîne de caractères
        • 5.3.3 Ajouter des paramètres
        • 5.3.4 Requêtes au format JSON
        • 5.3.5 Requêtes au format Image
        • 5.3.6 Autres requêtes
  • Réseaux sociaux
    • 1. Introduction
    • 2. Intégration standard
      • 2.1 Sous Android 2.x et 3.x
      • 2.2 Sous Android 4.x
    • 3. Intégration complète
      • 3.1 Récupérer les clés d'API
        • 3.1.1 Créer une application Facebook
        • 3.1.2 Autres réseaux sociaux
      • 3.2 Installer le SDK SocialAuth-Android
        • 3.2.1 Intégration des bibliothèques dans le projet
        • 3.2.2 Utilisation de l'API
  • Tracer, déboguer et tester
    • 1. Introduction
    • 2. Journal d'événements
      • 2.1 Consultation des événements
      • 2.2 Écriture des événements
    • 3. Débogage
      • 3.1 Débogage pas à pas
      • 3.2 Android Profiler
        • 3.2.1 Analyse du CPU
        • 3.2.2 Analyse de la mémoire
        • 3.2.3 Vue Network
      • 3.3 Android Device Monitor
        • 3.3.1 Vue Devices
        • 3.3.2 Vue Emulator Control
        • 3.3.3 Vue Threads
        • 3.3.4 Vue Heap
        • 3.3.5 Vue Allocation Tracker
        • 3.3.6 Vue File Explorer
    • 4. Tests unitaires et fonctionnels
      • 4.1 Création d'un projet de tests
      • 4.2 Création d'une classe de tests unitaires locaux
      • 4.3 Création d’un test pour une activité
    • 5. Test du singe
  • Publier une application
    • 1. Introduction
    • 2. Préliminaires
      • 2.1 Version de l'application
        • 2.1.1 android:versionCode
        • 2.1.2 android:versionName
        • 2.1.3 Surcharge par Gradle
      • 2.2 Filtres pour le marché
        • 2.2.1 uses-feature
        • 2.2.2 uses-configuration
    • 3. Signature de l'application
      • 3.1 Compilation en mode débogage
      • 3.2 Compilation en mode final
        • 3.2.1 Protection du code
        • 3.2.2 Signer l'application
        • 3.2.3 Installer l'application
    • 4. Production de plusieurs versions
    • 5. Publication de l'application sur le Play Store
      • 5.1 Inscription
      • 5.2 Publication
        • 5.2.1 Fichier .apk
        • 5.2.2 Fiche Google Play Store
        • 5.2.3 Tarifs et disponibilité
        • 5.2.4 Coordonnées
        • 5.2.5 Accepter
      • 5.3 Et après ?
  • Capteurs et géolocalisation
    • 1. Introduction
    • 2. Les capteurs
      • 2.1 Détecter un capteur
      • 2.2 Obtenir les valeurs
    • 3. Localisation géographique
      • 3.1 Permissions
      • 3.2 Gestionnaire de localisation
      • 3.3 Récupérer les données de localisation
        • 3.3.1 En cache
        • 3.3.2 Une seule fois
        • 3.3.3 Périodiquement
        • 3.3.4 Stopper les mises à jour
    • 4. Cartographie
      • 4.1 Mise en place
      • 4.2 Utilisation
      • 4.3 Suivre la géocalisation
      • 4.4 Pour aller plus loin
  • La technologie NFC
    • 1. Introduction
    • 2. Présentation de NFC
      • 2.1 Les scénarios d'utilisation du NFC
      • 2.2 Les tags NFC
    • 3. Prise en charge du NFC
      • 3.1 Utiliser avec un émulateur
      • 3.2 Détecter si l'appareil est compatible NFC
        • 3.2.1 Filtrer les appareils
        • 3.2.2 Tester à l'exécution
        • 3.2.3 Activation par l'utilisateur
    • 4. Découverte d'un tag NFC
      • 4.1 Prise en charge d'un intent ACTION_NDEF_DISCOVERED
      • 4.2 Prise en charge d'un intent ACTION_TECH_DISCOVERED
      • 4.3 Prise en charge d'un intent ACTION_TAG_DISCOVERED
      • 4.4 Android Application Records
      • 4.5 Foreground dispatch
    • 5. Lire un tag NFC
      • 5.1 Déterminer le contenu d'un tag NDEF
      • 5.2 Lire une URI
      • 5.3 Lire une chaîne de caractères
      • 5.4 Lire un type MIME
      • 5.5 Lire un tag de type TNF_WELL_KNOWN
    • 6. Écrire un tag NFC
      • 6.1 Définir un enregistrement NdefRecord avec l'API 9
        • 6.1.1 Construire un payload de type texte
        • 6.1.2 Construire un payload de type URI
      • 6.2 Définir un enregistrement NdefRecord avec les API 14 et 16
  • Objets connectés
    • 1. Introduction
    • 2. Détection et connexion
      • 2.1 Permissions
      • 2.2 Initialisation
      • 2.3 Recherche d’appareil BLE
        • 2.3.1 Recherche sous Jelly Bean
        • 2.3.2 Recherche sous Lollipop
        • 2.3.3 Appliquer des filtres lors de la recherche
      • 2.4 Connexion
    • 3. Échange de données/interactions
      • 3.1 Découvrir les services
      • 3.2 Lire une caractéristique
      • 3.3 Écrire une valeur
  • Fonctionnalités avancées
    • 1. Introduction
    • 2. App Widget
      • 2.1 Création
      • 2.2 Déclaration
      • 2.3 Configuration
      • 2.4 Cycle de vie
        • 2.4.1 onEnabled
        • 2.4.2 onDisabled
        • 2.4.3 onUpdate
        • 2.4.4 onDeleted
      • 2.5 RemoteViews
      • 2.6 Activité de configuration
        • 2.6.1 Déclaration
        • 2.6.2 Création
    • 3. Protéger les applications payantes
      • 3.1 Installation de la LVL
        • 3.1.1 Téléchargement
        • 3.1.2 Intégration de la LVL dans le code source
      • 3.2 Utilisation de la LVL
        • 3.2.1 Politique
        • 3.2.2 Obfuscation
        • 3.2.3 Vérification de la licence
      • 3.3 Tester
        • 3.3.1 Tester sur un appareil Android
        • 3.3.2 Tester sur un émulateur
    • 4. Proposer des achats intégrés
      • 4.1 Préparation
      • 4.2 Utilisation du paiement intégré
        • 4.2.1 Initier la communication avec le Play Store
        • 4.2.2 Obtenir la liste des produits
        • 4.2.3 Vérifier qu’un produit a été commandé
        • 4.2.4 Commander un produit
      • Index

Auteur

Sylvain HEBUTERNEEn savoir plus

Sylvain HEBUTERNE est Architecte Android. Spécialisé dans la programmation objet depuis 15 ans, il conçoit des applications Android pour le compte d’agences de communication et de start-up. Ces projets très diversifiés lui permettent d’exploiter tout le potentiel de la plateforme Android ainsi que les fonctionnalités plus avancées proposées par les dernières versions.

Revue de presse

developpez.com (Vincent PETIT)30/01/2019

Cet ouvrage s'adresse à toute personne souhaitant créer ses propres applications natives sous Android. Bien qu'il s'adresse à un large public, des notions du langage Java sont indispensables pour bien comprendre les nombreux exemples.
Il couvre un large champ du développement d'applications Android et il démarre par une introduction à cet univers, suivie par les étapes de l'installation et de la configuration d'Android Studio. Il s'en suit 10 chapitres sur le développement à proprement parler et notamment sur les bases de l'interface utilisateur et ses notions avancées :

- les styles, la navigation et les notifications ;

- la persistance des données, les intentions, les récepteurs d'événements et les services ;

- la concurrence, la sécurité et le réseau ;

- comment tracer, déboguer et tester votre application, puis la publier ;

- trois chapitres concernent l'utilisation des capteurs et la géolocalisation, la technologie NFC et le Bluetooth Low Energy (BLE) ;

- enfin un chapitre est dédié aux applications Widget, à la protection logicielle et à l'interaction avec le Play Store.

Le début de cet ouvrage est presque un mode d'emploi, ce qui permet de démarrer sereinement l'exploration de la programmation d'applications Android. Assez rapidement, et l'auteur nous le dit, on se rend compte des limites de l'émulateur d'appareil mobile et personnellement, je l'ai trouvé plutôt lourd sur mon ordinateur personnel, un Intel i5-7400 avec 2 Go de RAM dédiés à l'émulateur. Il est bien plus confortable de développer avec Android Studio et de tester quasi instantanément sur son smartphone via un câble USB. La suite du livre se lit très facilement et l'auteur fait suivre ses explications d'exemples concrets.
J'ai apprécié la partie sur la publication des applications sur le Play Store, car même si elle n'est pas forcément complexe, l'auteur met un point d'honneur à accompagner le lecteur jusqu'au bout.

Ce livre doit être lu en testant, au fur et à mesure, chacune des étapes qu'il explique avec l'environnement de développement intégré Android Studio et idéalement un smartphone, car l'utilisation de l'émulateur d'appareil mobile présente plusieurs contraintes. Des notions de Java sont indispensables pour aller plus loin.

Caractéristiques

  • Niveau Confirmé à Expert
  • Nombre de pages 638 pages
  • Parution septembre 2018
    • Livre (broché) - 17 x 21 cm
    • ISBN : 978-2-409-01526-7
    • EAN : 9782409015267
    • Ref. ENI : EI4AND
  • Niveau Confirmé à Expert
  • Parution septembre 2018
    • HTML
    • ISBN : 978-2-409-01528-1
    • EAN : 9782409015281
    • Ref. ENI : LNEI4AND

Téléchargements

En complétant ce formulaire, vous acceptez d'être contacté afin de recevoir des informations sur nos produits et services ainsi que nos communications marketing. Vous aurez la possibilité de vous désabonner de nos communications à tout moment. Pour plus d'informations sur notre politique de protection des données, cliquez ici.
  • Des fichiers complémentaires (15,8 Mo)