Quelle est la meilleure façon de faire des «parameters d’application» dans Android?

J’aimerais stocker certains parameters d’application (tels que l’URL d’une API et certains parameters de test) pour une application Android.

Je travaille principalement en tant que développeur .NET , donc je suis habitué à utiliser le fichier app.config à cette fin. Quelle est la bonne façon de le faire dans Android?

De nombreuses applications peuvent permettre de capturer les préférences de l’utilisateur sur les parameters d’une application ou d’une activité spécifique. Pour ce faire, Android fournit un ensemble simple d’API.

Les préférences sont généralement des paires de valeurs de nom. Ils peuvent être stockés sous forme de «Préférences partagées» dans différentes activités d’une application (notez qu’à l’heure actuelle, il ne peut pas être partagé entre les processus). Ou cela peut être quelque chose qui doit être stocké spécifique à une activité.

  1. Préférences partagées: les préférences partagées peuvent être utilisées par tous les composants (activités, services, etc.) des applications.

  2. Préférences liées à l’activité: ces préférences ne peuvent être utilisées qu’avec l’activité et ne peuvent pas être utilisées par d’autres composants de l’application.

Préférences partagées:

Les préférences partagées sont gérées avec l’aide de la méthode getSharedPreferences de la classe Context . Les préférences sont stockées dans un fichier par défaut (1) ou vous pouvez spécifier un nom de fichier (2) à utiliser pour faire référence aux préférences.

(1) Voici comment obtenir l’instance lorsque vous spécifiez le nom du fichier

 public static final Ssortingng PREF_FILE_NAME = "PrefFile"; SharedPreferences preferences = getSharedPreferences(PREF_FILE_NAME, MODE_PRIVATE); 

MODE_PRIVATE est le mode de fonctionnement des préférences. C’est le mode par défaut et signifie que le fichier créé ne sera accessible que par l’application appelante. Les deux autres modes pris en charge sont MODE_WORLD_READABLE et MODE_WORLD_WRITEABLE . Dans MODE_WORLD_READABLE autre application peut lire le fichier créé mais ne peut pas le modifier. Dans le cas de MODE_WORLD_WRITEABLE autres applications ont également des droits en écriture pour le fichier créé.

(2) La méthode recommandée est d’utiliser le mode par défaut, sans spécifier le nom du fichier.

 SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context); 

Enfin, une fois que vous avez l’instance de préférences, voici comment récupérer les valeurs stockées à partir des préférences:

  int storedPreference = preferences.getInt("storedInt", 0); 

Pour stocker des valeurs dans le fichier de préférences, l’object SharedPreference.Editor doit être utilisé. Editor est l’interface nestede de la classe SharedPreference .

 SharedPreferences.Editor editor = preferences.edit(); editor.putInt("storedInt", storedPreference); // value to store editor.commit(); 

Editor prend également en charge des méthodes telles que remove() et clear() pour supprimer la valeur de préférence du fichier.

Préférences d’activité:

Les préférences partagées peuvent être utilisées par d’autres composants d’application. Mais si vous n’avez pas besoin de partager les préférences avec d’autres composants et que vous souhaitez avoir des préférences privées d’activités. Vous pouvez le faire avec l’aide de la méthode getPreferences() de l’activité. La méthode getPreference utilise la méthode getSharedPreferences() avec le nom de la classe d’activité pour le nom du fichier de préférences.

Voici le code pour obtenir les préférences

 SharedPreferences preferences = getPreferences(MODE_PRIVATE); int storedPreference = preferences.getInt("storedInt", 0); 

Le code pour stocker les valeurs est également le même que pour les préférences partagées.

 SharedPreferences preferences = getPreference(MODE_PRIVATE); SharedPreferences.Editor editor = preferences.edit(); editor.putInt("storedInt", storedPreference); // value to store editor.commit(); 

Vous pouvez également utiliser d’autres méthodes, telles que le stockage de l’état d’activité dans la firebase database. Remarque: Android contient également un package appelé android.preference . Le package définit des classes pour implémenter l’interface utilisateur des préférences de l’application.

Pour voir d’autres exemples, consultez l’article de stockage de données d’Android sur le site des développeurs.