Description
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
- 4.1 Les conditionnelles
- 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
- 6.1 Présentation
- 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
- 1. Présentation
- 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
- 5.1 Présentation
- 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
- 1. Les composantes principales
- 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
- 3.1 Toast
- 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
- 1. Les listes
- 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
- 1. Retrofit
- 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
- 1. Création et utilisation d’un content provider
- Android : tester l’application
Reviews
There are no reviews yet.