Kotlin Notes

Post #112 written by Khodok in Code

Content

Interfaces

→ Bug perte de données en cas de rotation du device.

Android répond au basculement :

  • Tenter de sauvegarder l’Activity (Propres composants) → Appelle onSaveInstanceState

→ Bundle (key:value)

Kotlin
1
2
override fun onCreate(savedInstanceState: Bundle?) --> ? (peut être null)
    /// Pour récupérer des données il faut tester si Bundle null
  • Détruire l’activité
  • Reconstruire l’activité → onCreate()
Kotlin
1
2
3
4
if (savedInstanceState != null) {
    /// rechercher data
    score = savedInstanceState.getInt(SCORE_KEY)
}

Pour définir les Key → (static : unique, disponible sans instanciation)

Kotlin il faut intégrer un companion object (fond de la classe)

Kotlin
1
2
3
4
5
companion object {
    /// Key
    private const val SCORE_KEY = "SCORE_KEY"
    private const val TIME_LEFT_KEY = "TIME_LEFT_KEY"
}

Sauvegarde des données

Kotlin
1
2
3
4
5
override fun onSavedInstanceState(outState: Bundle) {
    super.onSavedInstanceState(outState)

    outState.putInt(SCORE_KEY, score)
}

Gestionnaire d’événements

Kotlin
1
2
3
    tapMeButton.setOnClickListener{ v -> 
        /// v --> tapMeButton
    }

Menu

  • Créer un dossier de res/menu/
  • Créer un fichier de ressources dans ce dossier

→ Editeur : Menu Item
→ Menu Item : id, title, icon, showAsAction - always

Redéfinir deux méthodes :

  • onCreateOptionsMenu()
  • onOptionsItemSelected() : répond aux clics sur les Menu Item

AlertDialog

(via le code)
1. Récupérer le Builder

val builder = AlertDialog.Builder(this)

Comments

Please Log in to leave a comment.

No comments yet.