Kotlin Les fondamentaux du développement d’applications Android

42075 CFA

Ce livre sur Kotlin, destiné aux développeurs juniors comme aux développeurs plus expérimentés, a pour objectif de transmettre les bases indispensables de ce langage promu par Google en tant que langage de développement officiel pour Android. Le lecteur y trouvera de quoi devenir autonome dans la création d’une première application mobile Android (en version Oreo 8.0 au moment de l’écriture) avec Kotlin. Pour une bonne compréhension de son contenu, de simples connaissances en programmation orientée objet sont suffisantes.

Les deux premiers chapitres traitent des fondamentaux du langage Kotlin et de la programmation orientée objet. Chaque concept décrit par l’auteur est accompagné d’une explication simple, de la syntaxe ainsi que d’un exemple d’utilisation.

Dans la suite du livre, le lecteur plonge dans le développement d’applications mobiles. L’auteur commence par présenter l’environnement de développement Android Studio avant de détailler les éléments incontournables pour développer une première application (listes, menus, pop-up, fragments…). Il poursuit avec l’étude de la persistance des données et de la programmation concurrente puis présente des composants plus avancés tels que les librairies ANKO et Retrofit ou l’ORM Room

Table des matières

  • Présentation de Kotlin
    • 1. Historique
    • 2. Philosophie
    • 3. Avantages
    • 4. Environnement de développement
      • 4.1 Présentation
      • 4.2 Premiers pas avec IntelliJ IDEA
    • 5. Premier exemple Kotlin
  • Kotlin : les fondamentaux
    • 1. La fonction main
    • 2. Les variables
      • 2.1 Présentation
      • 2.2 Les variables immutables
      • 2.3 Les variables mutables
      • 2.4 Les constantes
      • 2.5 Les types de base
        • 2.5.1 Les types entiers
        • 2.5.2 Les types décimaux
        • 2.5.3 Le type booléen
        • 2.5.4 Le type caractère
      • 2.6 Les valeurs numériques littérales
        • 2.6.1 Long et Float
        • 2.6.2 Écritures binaire, octale et hexadécimale
        • 2.6.3 Utilisation des underscores
      • 2.7 Les chaînes de caractères
      • 2.8 Les types de base Nullable
      • 2.9 Les types Any et Any?
      • 2.10 Le type Unit
      • 2.11 Le type Nothing
      • 2.12 Les tableaux
        • 2.12.1 Création d’un tableau
        • 2.12.2 Utilisation courante
      • 2.13 Conversions des types de base
      • 2.14 Portée des variables
    • 3. Les opérateurs
      • 3.1 Les opérateurs arithmétiques
      • 3.2 Les opérateurs de bits
      • 3.3 Les opérateurs unaires
      • 3.4 Les opérateurs d’affectation
      • 3.5 Les opérateurs de comparaison
      • 3.6 Les opérateurs logiques
    • 4. Les structures de contrôle
      • 4.1 Les conditionnelles
        • 4.1.1 L’expression if
        • 4.1.2 L’expression when
      • 4.2 Les répétitives
        • 4.2.1 La boucle for
        • 4.2.2 La boucle while
        • 4.2.3 La boucle do while
        • 4.2.4 L’interruption d’une boucle
    • 5. Les fonctions
      • 5.1 Syntaxe
      • 5.2 Usage
      • 5.3 Les paramètres
        • 5.3.1 Syntaxe
        • 5.3.2 Immutable
        • 5.3.3 Paramètre par défaut
        • 5.3.4 Argument nommé
        • 5.3.5 Paramètre variadique
      • 5.4 Les fonctions contenant une expression simple
      • 5.5 Le type de retour
        • 5.5.1 Explicite
        • 5.5.2 Implicite
      • 5.6 Fonction récursive
      • 5.7 Portée des fonctions
        • 5.7.1 Fonction hors d’une classe
        • 5.7.2 Fonction dans une classe
        • 5.7.3 Fonction dans une fonction
    • 6. Les packages
      • 6.1 Présentation
        • 6.1.1 Conventions et bonnes pratiques
        • 6.1.2 Déclaration d’un package
        • 6.1.3 Importation d’un package
    • 7. Démonstration
  • Kotlin : la programmation orientée objet
    • 1. Introduction
    • 2. Les classes
      • 2.1 Présentation
      • 2.2 Syntaxe
      • 2.3 Déclaration d’une classe
      • 2.4 Création et utilisation d’instances d’une classe
      • 2.5 Les modificateurs de classe
        • 2.5.1 Modificateur public
        • 2.5.2 Modificateur internal
        • 2.5.3 Modificateur protected
        • 2.5.4 Modificateur private
        • 2.5.5 Modificateur final
        • 2.5.6 Modificateur open
        • 2.5.7 Modificateur abstract
        • 2.5.8 Pseudo modificateur nested (imbriqué)
        • 2.5.9 Modificateur inner (interne)
        • 2.5.10 Modificateur sealed (fermé)
      • 2.6 Les constructeurs
        • 2.6.1 Constructeur principal
        • 2.6.2 Bloc d’initialisation
        • 2.6.3 Constructeurs secondaires
      • 2.7 Les champs et les propriétés
        • 2.7.1 Présentation
        • 2.7.2 Syntaxe
        • 2.7.3 Création de propriétés via le constructeur
        • 2.7.4 Création de propriétés dans la classe
        • 2.7.5 Création de propriétés personnalisées
      • 2.8 Les modificateurs de propriétés
        • 2.8.1 Modificateur public
        • 2.8.2 Modificateur private
        • 2.8.3 Modificateur protected
        • 2.8.4 Modificateur internal
        • 2.8.5 Modificateur open
        • 2.8.6 Modificateur override
        • 2.8.7 Modificateur final
      • 2.9 Les fonctions de classes
        • 2.9.1 Syntaxe
        • 2.9.2 Usage
        • 2.9.3 Les modificateurs de fonctions
        • 2.9.4 Les fonctions d’extensions
        • 2.9.5 Notation infixée
    • 3. Les classes objet
      • 3.1 Présentation
      • 3.2 Syntaxe
      • 3.3 Usage
    • 4. L’héritage
      • 4.1 Présentation
      • 4.2 Les bases de l’héritage
        • 4.2.1 Présentation
        • 4.2.2 Syntaxe
        • 4.2.3 Héritage simple
        • 4.2.4 Héritage et constructeur principal
        • 4.2.5 Héritage et constructeur secondaire
        • 4.2.6 Super
      • 4.3 Redéfinition de propriétés et de fonctions
        • 4.3.1 Différence entre surcharge et redéfinition
        • 4.3.2 Redéfinition de propriétés
        • 4.3.3 Redéfinition de fonctions
    • 5. Les classes abstraites
      • 5.1 Présentation
      • 5.2 Syntaxe
      • 5.3 Usage
    • 6. Les classes scellées
      • 6.1 Présentation
      • 6.2 Syntaxe
      • 6.3 Usage
    • 7. Les interfaces
      • 7.1 Présentation
      • 7.2 Syntaxe
      • 7.3 Usage
    • 8. Les classes internes
      • 8.1 Présentation
      • 8.2 Syntaxe
      • 8.3 Usage
    • 9. Les classes imbriquées
      • 9.1 Présentation
      • 9.2 Syntaxe
      • 9.3 Usage
    • 10. Les classes anonymes
      • 10.1 Présentation
      • 10.2 Syntaxe avec les object expressions
      • 10.3 Usage avec les object expressions
    • 11. Singleton
      • 11.1 Présentation
      • 11.2 Syntaxe
      • 11.3 Usage
    • 12. Fonctions statiques
      • 12.1 Présentation
      • 12.2 Syntaxe
      • 12.3 Usage
    • 13. Enum classe
      • 13.1 Présentation
      • 13.2 Déclarations
    • 14. Généricité
      • 14.1 Présentation
      • 14.2 Syntaxe
      • 14.3 Usage
    • 15. La gestion des erreurs d’exécution
      • 15.1 Présentation
      • 15.2 Syntaxe
      • 15.3 Usage
    • 16. Les collections
      • 16.1 Présentation
      • 16.2 Syntaxe
        • 16.2.1 Collection de type List
        • 16.2.2 Collection de type MutableList
        • 16.2.3 Collection de type Set
        • 16.2.4 Collection de type MutableSet
        • 16.2.5 Collection de type Map
        • 16.2.6 Collection de type MutableMap
      • 16.3 Usage
        • 16.3.1 Collection de type List
        • 16.3.2 Collection de type MutableList
        • 16.3.3 Collection de type Set
        • 16.3.4 Collection de type MutableSet
        • 16.3.5 Collection de type Map
        • 16.3.6 Collection de type MutableMap
      • 16.4 Fonctions d’agrégation
        • 16.4.1 Présentation
        • 16.4.2 Usage
      • 16.5 Fonctions de sélection
        • 16.5.1 Présentation
        • 16.5.2 Usage
    • 17. Les expressions lambda
      • 17.1 Présentation
      • 17.2 Syntaxe
      • 17.3 Usage
      • 17.4 Stocker le traitement dans une variable
  • Android : présentation de l’environnement
    • 1. Présentation
      • 1.1 Introduction
      • 1.2 La plateforme Android
      • 1.3 Processus de construction d’une application
    • 2. Environnement de développement
      • 2.1 Introduction
      • 2.2 SDK Android
      • 2.3 Android Studio
        • 2.3.1 Présentation
        • 2.3.2 Principaux outils
      • 2.4 Gradle
        • 2.4.1 Présentation
        • 2.4.2 Gestion des dépendances
    • 3. Application Android
      • 3.1 Création d’un nouveau projet
      • 3.2 Structure d’une application
        • 3.2.1 manifests
        • 3.2.2 java
        • 3.2.3 res
        • 3.2.4 Gradle Scripts
      • 3.3 Exécution d’une application
        • 3.3.1 Sur émulateur
        • 3.3.2 Sur téléphone
  • Android : les fondamentaux
    • 1. Les composantes principales
      • 1.1 Activité
      • 1.2 Intention
      • 1.3 Fragment
      • 1.4 Service
      • 1.5 Content provider
      • 1.6 BroadcastReceiver
      • 1.7 Intent filter
      • 1.8 Manifeste
      • 1.9 Context
    • 2. Activité
      • 2.1 Présentation
      • 2.2 Pile de gestion
      • 2.3 Création d’une activité
      • 2.4 Contrôleur
      • 2.5 Cycle de vie
      • 2.6 Usage
    • 3. Vue liée à l’activité
      • 3.1 Présentation
      • 3.2 Fonctionnement de l’interface utilisateur
      • 3.3 Les conteneurs de type ViewGroup
        • 3.3.1 Présentation
        • 3.3.2 GridLayout
        • 3.3.3 LinearLayout
        • 3.3.4 RelativeLayout
        • 3.3.5 ConstraintLayout
      • 3.4 Les composants graphiques de type View
      • 3.5 Démonstration
    • 4. Gestion des événements
      • 4.1 Gestion des événements via XML
      • 4.2 Gestion des événements via Kotlin
        • 4.2.1 Présentation
        • 4.2.2 Usage historique
        • 4.2.3 Usage optimisé
    • 5. Gestion des ressources
      • 5.1 Présentation
        • 5.1.1 Stocker les ressources
        • 5.1.2 Accès aux ressources
    • 6. Manifeste
      • 6.1 Présentation
      • 6.2 Les balises
      • 6.3 Exemple
    • 7. Gestion des droits
      • 7.1 Présentation
      • 7.2 Fonctionnement
      • 7.3 Syntaxe
      • 7.4 Usage
      • 7.5 Complément
    • 8. Les intentions
      • 8.1 Présentation
      • 8.2 Intent explicite
        • 8.2.1 Présentation
        • 8.2.2 Syntaxe
        • 8.2.3 Exemple
        • 8.2.4 Transfert de données scalaires
        • 8.2.5 Transfert de données parcelables
        • 8.2.6 Démonstration
        • 8.2.7 Usage simplifié
      • 8.3 Intent implicite
        • 8.3.1 Présentation
        • 8.3.2 Syntaxe
        • 8.3.3 Usage
        • 8.3.4 Démonstration
        • 8.3.5 Usage simplifié
      • 8.4 Intent-filter
        • 8.4.1 Présentation
        • 8.4.2 Syntaxe
        • 8.4.3 Usage
  • Android : les éléments incontournables
    • 1. Les listes
      • 1.1 Présentation
      • 1.2 ListView
        • 1.2.1 Présentation
        • 1.2.2 Définir une ListView
        • 1.2.3 Définir le style des éléments de la liste
        • 1.2.4 Créer une classe adapter
        • 1.2.5 Lier l’adapter à la ListView
      • 1.3 RecyclerView
        • 1.3.1 Présentation
        • 1.3.2 Dépendance
        • 1.3.3 Définir un RecyclerView
        • 1.3.4 Définir le style des éléments de la liste
        • 1.3.5 Créer une classe Adapter
        • 1.3.6 Lier l’adapter au RecyclerView
      • 1.4 CardView
        • 1.4.1 Présentation
        • 1.4.2 Dépendance
        • 1.4.3 Usage
    • 2. Les menus
      • 2.1 Présentation
      • 2.2 ActionBar
        • 2.2.1 Présentation
        • 2.2.2 Créer la structure du menu
        • 2.2.3 Lier le menu à l’activité
        • 2.2.4 Définir les actions de chaque bouton
      • 2.3 NavigationDrawer
        • 2.3.1 Présentation
        • 2.3.2 Mise en place
        • 2.3.3 Dépendance
        • 2.3.4 Utilisation de l’assistant
        • 2.3.5 Personnalisation
    • 3. Les pop-up
      • 3.1 Toast
        • 3.1.1 Présentation
        • 3.1.2 Usage historique
        • 3.1.3 Usage optimisé
        • 3.1.4 Démonstration
      • 3.2 AlertDialog
        • 3.2.1 Présentation
        • 3.2.2 Dépendance
        • 3.2.3 Usage
        • 3.2.4 Démonstration
    • 4. Les fragments
      • 4.1 Présentation
      • 4.2 Cycle de vie
      • 4.3 Structure
        • 4.3.1 Fragment indépendant
        • 4.3.2 Fragment communiquant avec l’activité
        • 4.3.3 Activité communiquant avec le fragment
      • 4.4 La librairie de support V4
      • 4.5 Création
        • 4.5.1 Fragment indépendant
        • 4.5.2 Fragment communiquant avec l’activité
        • 4.5.3 Activité communiquant avec le fragment
    • 5. Démonstration
  • Android : la persistance des données
    • 1. Présentation
    • 2. SharedPreferences
      • 2.1 Présentation
      • 2.2 Fonctionnement
      • 2.3 Récupérer un objet de type SharedPreferences
        • 2.3.1 Interactivité
        • 2.3.2 Intra activité
      • 2.4 Enregistrer dans un fichier de préférences
      • 2.5 Lire dans un fichier de préférences
      • 2.6 Démonstration
    • 3. Fichier interne
      • 3.1 Présentation
      • 3.2 Écrire dans un fichier interne
      • 3.3 Lire dans un fichier interne
      • 3.4 Mettre en cache un fichier interne
      • 3.5 Quelques fonctions
      • 3.6 Démonstration
    • 4. Fichier externe
      • 4.1 Présentation
      • 4.2 Permissions
      • 4.3 Vérifier la disponibilité d’un espace de stockage
      • 4.4 Écrire dans un fichier externe privé
      • 4.5 Lire un fichier externe privé
      • 4.6 Écrire un fichier externe public
      • 4.7 Lire un fichier externe public
      • 4.8 Démonstration
    • 5. Base de données avec SQLiteOpenHelper
      • 5.1 Présentation
      • 5.2 Procédure
      • 5.3 Mise en place
        • 5.3.1 Schéma de la base de données
        • 5.3.2 Modèle
        • 5.3.3 Contract
        • 5.3.4 BddHelper
        • 5.3.5 DAO
  • Android : la programmation concurrente
    • 1. Présentation
    • 2. Problématique
      • 2.1 Présentation
      • 2.2 Démonstration
    • 3. Les threads
      • 3.1 Présentation
      • 3.2 Syntaxe
      • 3.3 Usage
      • 3.4 Démonstration
      • 3.5 Problématique
      • 3.6 runOnUiThread
        • 3.6.1 Présentation
        • 3.6.2 Démonstration
    • 4. Les tâches asynchrones
      • 4.1 Présentation
      • 4.2 Démonstration
    • 5. Les Handlers
      • 5.1 Présentation
      • 5.2 Démonstration
    • 6. Les coroutines
  • Android : quelques librairies incontournables
    • 1. Retrofit
      • 1.1 Présentation
      • 1.2 Procédure
      • 1.3 Démonstration
      • 1.4 Permission
      • 1.5 Dépendances
      • 1.6 Création d’un objet modèle
      • 1.7 Création d’une interface de communication
      • 1.8 Utilisation
    • 2. Anko
      • 2.1 Présentation
      • 2.2 Installation
      • 2.3 Anko Commons
        • 2.3.1 Présentation
        • 2.3.2 Intent
        • 2.3.3 Les boîtes de dialogues
        • 2.3.4 Les logs
        • 2.3.5 Les toasts
      • 2.4 Anko SQLite
        • 2.4.1 Présentation
        • 2.4.2 Accès et définition de la base de données
        • 2.4.3 Insertion de données
        • 2.4.4 Mise à jour de données
        • 2.4.5 Suppression de données
        • 2.4.6 Extraction de données
      • 2.5 Anko Layouts
        • 2.5.1 Présentation
        • 2.5.2 Définition rapide des propriétés essentielles
        • 2.5.3 Définition rapide du thème des éléments graphiques
        • 2.5.4 Modification des propriétés des éléments graphiques
        • 2.5.5 Modification des propriétés layout des éléments graphiques
        • 2.5.6 UI Wrapper
      • 2.6 Conclusion
    • 3. Room
      • 3.1 Présentation
      • 3.2 Procédure
      • 3.3 Création de la base de données
      • 3.4 Dépendances
      • 3.5 Création d’une classe de type Entity
      • 3.6 Création d’une interface de type DAO
      • 3.7 Création d’une classe de type Database
      • 3.8 Récupération d’une instance de la base de données
      • 3.9 Utilisation
        • 3.9.1 Insertion
        • 3.9.2 Lecture
        • 3.9.3 Modification
        • 3.9.4 Suppression
      • 3.10 Conclusion
  • Android : les éléments avancés
    • 1. Création et utilisation d’un content provider
      • 1.1 Présentation
      • 1.2 Structure
      • 1.3 Identification
      • 1.4 Créer un content provider
      • 1.5 Création : définir les fonctionnalités d’un content provider
        • 1.5.1 Lire des données via un content provider
        • 1.5.2 Insérer des données via un content provider
        • 1.5.3 Mettre à jour des données via un content provider
        • 1.5.4 Supprimer des données via un content provider
      • 1.6 Création : définir les permissions d’un content provider
        • 1.6.1 Présentation
        • 1.6.2 Usage
      • 1.7 Utiliser un content provider
        • 1.7.1 Connaître l’URI du content provider
        • 1.7.2 Récupérer un objet de type ContentResolver fourni par le Context
        • 1.7.3 Définir les permissions requises par le content provider
        • 1.7.4 Usage
      • 1.8 Utilisation : accès aux contacts de votre téléphone
        • 1.8.1 Présentation
        • 1.8.2 Fonctionnement
        • 1.8.3 La table ContactsContract.RawContacts
        • 1.8.4 La table ContactsContract.Data
        • 1.8.5 La classe ContactsContract.CommonDataKinds
        • 1.8.6 La table ContactsContract.Contacts
        • 1.8.7 Permission
        • 1.8.8 Usage
      • 1.9 Démonstration : création d’un content provider
        • 1.9.1 Présentation
        • 1.9.2 Sources
    • 2. Utilisation de données JSON
      • 2.1 Présentation
      • 2.2 Formats
      • 2.3 Transformer des données JSON en objets Kotlin
        • 2.3.1 Manière historique
    • 3. Utilisation de services distants
      • 3.1 Présentation
      • 3.2 Permission
      • 3.3 Consommer un web service
      • 3.4 Démonstration
    • 4. Les WebViews
      • 4.1 Présentation
      • 4.2 Déclaration dans l’interface
      • 4.3 Charger une page web dans une WebView
        • 4.3.1 Accès à des pages web distantes
        • 4.3.2 Accès à des pages web locales
      • 4.4 Appel de fonctions Kotlin avec du JavaScript
        • 4.4.1 Présentation
        • 4.4.2 Usage
    • 5. Les récepteurs d’événement
      • 5.1 Présentation
      • 5.2 Création d’un Broadcast Receiver
      • 5.3 Abonnement à des événements
      • 5.4 Diffusion d’un événement
      • 5.5 Démonstration
  • Android : tester l’application
Catégorie

Avis des clients

Il n'y a pas encore d'avis.

Soyez le premier à donner votre avis sur “Kotlin Les fondamentaux du développement d’applications Android”

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Plus d'offres pour ce produit!

Questions et demandes générales

Il n'y a pas encore de demandes de renseignements.