web-dev-qa-db-fra.com

Comment afficher le fichier de préférences partagé avec Android Studio?

J'utilise des préférences partagées pour stocker certaines valeurs pour mon application. Je voudrais voir le fichier où les informations sont réellement stockées sur mon téléphone. J'ai trouvé plusieurs façons de faire cela sur Eclipse, mais je suis en train de déboguer sous Android Studio. Mon téléphone est enraciné. J'ai lu qu'il est important d'avoir un accès root pour lire ces types de fichiers. S'il n'y a aucun moyen, alors je rechercherai comment accéder aux informations par le biais de mon programme, puis les afficher pour enregistrer chat Si tout va bien, je peux juste regarder le dossier sur le téléphone directement car c'est beaucoup plus simple. Merci.

59
JayUser

Depuis Android Studio, démarrez Android Device Monitor, accédez à l'Explorateur de fichiers, puis parcourez "/ data/data/<nom de votre package>/shared_prefs /". Vous trouverez le code XML ici ... et vous pourrez également le copier pour inspection.

Si vous avez un appareil non root, il n'est pas possible de le faire directement à partir d'Android Studio. Cependant, vous pouvez accéder au fichier avec adb Shell tant que votre application est la version de débogage. 

adb Shell
run-as your.app.id
chmod 777 shared_prefs/your.app.id_preferences.xml
exit # return to default user
cp /data/data/your.app.id/shared_prefs/your.app.id_preferences.xml /sdcard

Après cela, vous pouvez extraire le fichier du répertoire/sdcard avec adb.

71
George Dima

MISE À JOUR: Flipper

Flipper est une nouvelle alternative de facebook. Il a plus de fonctionnalités mais pour le moment l'écriture n'est disponible que sur Mac, un peu plus difficile à configurer et manque de débogage de la base de données, tout en améliorant l'inspecteur de disposition extrêmement amélioré

Stetho

Vous pouvez utiliser http://facebook.github.io/stetho/ pour accéder à vos préférences partagées lorsque votre application est en mode débogage. Pas de racine

fonctionnalités:

  1. voir et éditer les préférences partagées
  2. voir et éditer la base de données sqLite
  3. voir voir hiérarchie
  4. surveiller les requêtes réseau http
  5. voir le flux depuis l'écran de l'appareil
  6. et plus....

 enter image description here

Configuration de base: 

  1. dans le build.gradle, ajoutez compile 'com.facebook.stetho:stetho:1.5.0'
  2. dans l'application onCreate (), ajoutez Stetho.initializeWithDefaults(this);
  3. dans Chrome sur votre PC, allez dans chrome: // inspect/

Vous pouvez également utiliser la suggestion @Jeffrey:

  • Ouvrir l'explorateur de fichiers de périphériques (en bas à droite de l'écran)
  • Accédez à data/data/com.votreNomApp/shared_prefs
37
Maksim Turaev

L’explorateur de fichiers de périphérique qui fait partie de Android Studio 3.x est vraiment utile pour explorer vos fichiers de préférences, vos éléments de cache ou votre base de données.

  1. Répertoire des préférences partagées/data/data//shared_prefs

 enter image description here

Ça ressemble à quelque chose comme ça

 enter image description here

Pour ouvrir l'explorateur de fichiers du périphérique: 

Cliquez sur Afficher> Fenêtres d'outils> Explorateur de fichiers du périphérique ou cliquez sur le bouton Explorateur de fichiers du périphérique dans la barre de la fenêtre d'outils.

 enter image description here

20
phnmnn

Vous pouvez simplement créer une activité spéciale à des fins de débogage:

@SuppressWarnings("unchecked")
public void loadPreferences() {
// create a textview with id (tv_pref) in Layout.
TextView prefTextView;
prefTextView = (TextView) findViewById(R.id.tv_pref);
    Map<String, ?> prefs = PreferenceManager.getDefaultSharedPreferences(
            context).getAll();
    for (String key : prefs.keySet()) {
        Object pref = prefs.get(key);
        String printVal = "";
        if (pref instanceof Boolean) {
            printVal =  key + " : " + (Boolean) pref;
        }
        if (pref instanceof Float) {
            printVal =  key + " : " + (Float) pref;
        }
        if (pref instanceof Integer) {
            printVal =  key + " : " + (Integer) pref;
        }
        if (pref instanceof Long) {
            printVal =  key + " : " + (Long) pref;
        }
        if (pref instanceof String) {
            printVal =  key + " : " + (String) pref;
        }
        if (pref instanceof Set<?>) {
            printVal =  key + " : " + (Set<String>) pref;
        }
        // Every new preference goes to a new line
        prefTextView.append(printVal + "\n\n");     
    }
}
// call loadPreferences() in the onCreate of your Activity.
14
cYrixmorten

Android Studio -> Explorateur de fichiers de périphériques (coin inférieur droit) -> données -> données -> {package.id} -> shared-prefs

Remarque: vous devez connecter un appareil mobile au studio Android et l'application sélectionnée doit être en mode débogage.

8
Niranjan

Ceci est un ancien post, mais j’ai pensé que je devrais y mettre une réponse graphique, la question étant de visionner le SharedPreferences.xml sous Android Studio. Alors voilà. 

Allez dans Outils -> Moniteur de périphériques Android. Ouvrez le moniteur de périphérique en cliquant dessus. 

 enter image description here

Ensuite, vous devez sélectionner l'onglet Explorateur de fichiers dans le moniteur de périphérique. Recherchez le dossier de données et recherchez un autre dossier de données à l'intérieur. Il contiendra un dossier portant le nom de votre dossier de candidature et le SharedPreferences.xml souhaité. 

 enter image description here

Sélectionnez le fichier SharedPreferences.xml, puis tirez et enregistrez le fichier sur votre ordinateur à l'aide du bouton situé dans le coin supérieur droit de l'image ci-dessus. 

J'ai utilisé un émulateur de périphérique. 

7
Reaz Murshed

Une autre méthode simple consiste à utiliser une application racine Explorer sur votre téléphone.

Ensuite, allez à /data/data/package name/shared preferences folder/name of your preferences.xml, vous pouvez utiliser ES File Explorer , et allez à la root de votre appareil, pas sd card.

5
user5291072

Dans Android Studio 3:

  • Ouvrez l'explorateur de fichiers de périphériques (en bas à droite de l'écran).
  • Accédez à data/data/com.votreNomApp/shared_prefs.

ou utilisez Base de données de débogage Android

3
Jeffrey

Exécutez l'application dans Emulator après avoir inséré des données, fermez simplement l'application.

Ouvrez maintenant le moniteur DDMS ou Android et sélectionnez votre émulateur. Sur le côté droit, vous pouvez voir l’explorateur de fichiers, rechercher le dossier Data et rechercher le package d’application que vous avez créé. vous pouvez voir le fichier XML, cliquez dessus, puis cliquez sur le bouton extraire un fichier du périphérique situé dans le coin supérieur droit.

Le fichier XML sera enregistré à l’emplacement de votre choix. Vous pourrez l’ouvrir à l’aide de n’importe quel éditeur comme Notepad ++ et visualiser les données que vous avez entrées.

2
Naren

Je trouve toujours ces commandes utiles dans la console:

  1. Trouvez le nom de fichier correct

    adb Shell

    ls /data/data/com.your.package/shared_prefs

  2. Récupère le fichier dans le répertoire local

    adb pull /data/data/com.your.package/shared_prefs/the_file_you_want $local_dir

  3. Vérifiez-le dans votre $local_dir.

1
Rose

Si vous utilisez un émulateur, vous pouvez voir le fichier sharedPrefs.xml sur le terminal avec les commandes suivantes:

  • adb root
  • cat /data/data/<project name>/shared_prefs/<xml file>

après cela, vous pouvez utiliser adb unroot si vous ne voulez pas garder le périphérique virtuel enraciné.

0
Rodrirokr

Pour ouvrir preference partagé dans Android studio

Ouvrir le fichier Device Explorer depuis le côté droit - data> data>> shared_prefs

trouver l'image ci-jointe pour plus de description

0
Shwetank