Le réseau et le hors-ligne

Appels réseau hors du fil principal, délais d'expiration et nouvelles tentatives, puis le hors-ligne d'abord : la base locale comme source de vérité, la file d'écritures en attente, la synchronisation et les conflits.

  • 30 cartes
  • 7 thèmes
  • Gratuit

Le programme, thème par thème

Le poids de chaque thème suit celui que lui donne l'examen.

  1. Notions
  2. Questions
  3. Les chiffres
  4. Sur le schéma
  5. Les étapes
  6. Mises en situation
  7. Comprendre

Quelques cartes du deck

  • Hors-ligne d'abord : de quoi s'agit-il ?

    Voir la réponse

    Façon de concevoir l'application où l'écran lit et écrit toujours dans la base du téléphone, le réseau n'intervenant qu'à part, pour échanger avec le serveur.

    L'application reste utilisable dans le métro ou en avion : une panne de réseau retarde la mise à jour des données, elle ne bloque plus l'écran.

  • Quelle exception ce code déclenche-t-il quand l'utilisateur touche le bouton ?

    ```kotlin
    button.setOnClickListener {
    val texte = URL("https://api.exemple.fr/notes").readText()
    liste.text = texte
    }
    `

    • android.os.NetworkOnMainThreadException
    • java.net.SocketTimeoutException
    • java.lang.SecurityException
    • java.io.FileNotFoundException
    Voir la réponse

    android.os.NetworkOnMainThreadException

    Le gestionnaire du clic s'exécute sur le fil principal, où Android interdit les accès réseau. Il faut lancer l'appel dans une coroutine ou un autre fil, puis mettre à jour l'écran au retour.

  • Un appel réseau ne s'exécute jamais sur le …, sinon l'écran gèle et, après environ … secondes, le système affiche « l'application ne répond plus ».

    Voir la réponse

    Un appel réseau ne s'exécute jamais sur le fil principal, sinon l'écran gèle et, après environ 5 secondes, le système affiche « l'application ne répond plus ».

    On confie l'appel à un autre fil (coroutine, exécuteur) et on revient au fil principal pour afficher le résultat.

  • Source de vérité : de quoi s'agit-il ?

    Voir la réponse

    Unique endroit de l'application où les données font foi, et que tous les écrans lisent.

    Dans une application hors-ligne d'abord, c'est la base locale : la réponse de l'API y est écrite, l'écran ne l'affiche jamais directement.