Préférences partagées dans Android

Aujourd'hui, nous allons voir la manière la plus simple de stocker des données avec un exemple d'application. Généralement, quand on dit stocker des données, on pense d'abord à SQL, MongoDB, etc. Mais, on verra bientôt qu'on n'en a pas besoin pour des données simples .
Lorsque nous parlons de données simples, nous conservons généralement des données telles que l' âge de l'utilisateur , son pays d'origine et ses paramètres préférés . Ces données ne sont pas perdues même si l'utilisateur ferme l'application.
Qu'est-ce que SharedPreferences ?
Nous pouvons conserver des données simples sans avoir besoin de rien de plus. C'est une structure qui fonctionne avec une paire clé-valeur . Les types de données que nous pouvons conserver sont limités à ; Int, booléen, flottant, long et chaîne.
Utilisons maintenant cette structure dans une application dans laquelle nous obtenons l'âge de l'utilisateur et l'enregistrons. (Je dépose le lien GitHub ici .)
class MainActivity : AppCompatActivity() {
private lateinit var preferences : SharedPreferences
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
preferences = this.getSharedPreferences("com.aliduman.savemyage"
, Context.MODE_PRIVATE)
}
ceci :
Nous l'utilisons pour montrer l'activité dans laquelle nous sommes.
com.aliduman.savemyage :
Dans cette partie, il ne nous demande qu'un nom. Généralement, nous mettons le nom du package dans cette partie.
Contexte.MODE_PRIVATE :
Le mode définit qui peut accéder aux préférences de notre application. Privé est le mode par défaut et définit qu'il n'est accessible qu'à partir de cette application.

Utilisons SharedPreferences après avoir défini les définitions et les paramètres. Notre objectif est d'entrer et de sauvegarder l'âge de l'utilisateur, puis de stocker cet âge et de le montrer à l'utilisateur après avoir fermé et ouvert l'application.
var currentAge = preferences.getInt("age",-1)
getInt() :
Cette méthode renvoie la valeur donnée. S'il n'a pas été créé auparavant, il le sera.
âge:
C'est la clé de la valeur que nous voulons garder.
-1:
Ce paramètre nous permet d'attribuer une valeur par défaut si aucune donnée n'est saisie.
if (currentAge != -1) { //if user saved age before..
age_text.hint = currentAge.toString()
} else {//if first time user saved age
save_button.setOnClickListener {
var ageInput = Integer.valueOf(age_text.text.toString())
preferences.edit().putInt("age", ageInput).apply() //We save it to SharedPreferences.
}
}
modifier()
Nous l'utilisons pour apporter des modifications ou des affectations à notre valeur.
putInt()
Nous l'utilisons pour mettre des données dans ce que nous stockons.
appliquer()
cette méthode est nécessaire pour mettre en œuvre tous ces changements.

L'utilisateur saisit le chiffre 23 et appuie sur le bouton de sauvegarde.↑

Happy ending, lorsque l'utilisateur entre à nouveau dans l'application, nous pouvons montrer son âge avec notre algorithme et SharedPreferences.↑
!AVERTISSEMENT!
J'ai sauté certaines étapes importantes comme la vérification null pour me concentrer sur SharedPreferences. N'oubliez pas de vérifier si les données saisies par l'utilisateur sont nulles ou non. Code propre, code fiable