Utilisez le modèle Empty Views Activity (en Kotlin) pour créer une nouvelle activité, NewWordActivity. Vérifiez que l'activité a été ajoutée au manifeste Android :
Implémentez la classe NewWordActivity sous le même package que MainActivity, en remplaçant le code généré par le modèle. L'objectif est que lorsque l'utilisateur appuie sur le bouton Save, le nouveau mot soit placé dans un Intent pour être renvoyé à l'activité principale. Voici le code de l'activité NewWordActivity :
12.2 Ajouter du code pour insérer un mot dans la base de données¶
Dans MainActivity, enregistrez un launcher pour NewWordActivity avec registerForActivityResult(). Si l'activité retourne avec RESULT_OK, insérez le mot retourné dans la base de données en appelant la fonction insert() de WordViewModel. Ajoutez cette propriété à la classe MainActivity (à côté de wordViewModel) :
registerForActivityResult() plutôt que startActivityForResult()
Les fonctions startActivityForResult() et onActivityResult(), ainsi que le code de requête associé, sont dépréciées. L'API Activity Result les remplace : le résultat arrive directement dans le lambda passé à registerForActivityResult(), sans code de requête à gérer.
Dans MainActivity, démarrez NewWordActivity lorsque l'utilisateur appuie sur le FAB. Dans la fonction onCreate() de MainActivity, recherchez le FAB et remplacez le code de setOnClickListener avec le code suivant :
Maintenant, lancez votre application ! Lorsque vous ajoutez un mot à la base de données dans NewWordActivity, l'interface utilisateur se met automatiquement à jour.