IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Liste des fichiers de la mémoire interne


Sujet :

Android

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Epitech Paris
    Inscrit en
    Septembre 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Epitech Paris
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2016
    Messages : 11
    Points : 5
    Points
    5
    Par défaut Liste des fichiers de la mémoire interne
    Bonjour,

    J'essaye de développer un explorateur de fichier sous Android.

    J'ai fini l'interface graphique tous ce passe bien quand j'utilise la fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Environment.getRootDirectory()
    Comme point de départ pour la liste des fichiers.

    Cependant j'aimerais faire deux listes : une pour la mémoire interne et une autre pour la mémoire externe.

    J'ai donc cherché sur internet et j'ai trouvé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Environment.getExternalStorageDirectory()
    Cependant sur l'émulateur de Android Studio, et sur un Samsung S7 la liste est vide, si j'essaye sur un Sony M4 Aqua ça fonctionne MAIS j'ai la mémoire interne...... o_O

    Je vous donne mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    public class PhoneMemoryActivity extends AppCompatActivity {
     
        private ListView            mList = null;
        private List<File>          mDirectoryList = null;
        private DirectoryAdaptater  mAdaptater = null;
        private File                mRoot = null;
        private File                mCurrentDirectory = null;
        private File                mCurrentClick = null;
     
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_phone_memory);
     
            init();
            setTitle(mRoot.getAbsolutePath());
     
            File[] ff = ContextCompat.getExternalFilesDirs(this, null);;
     
            for (File f : ff) {
                mDirectoryList.add(f);
            }
            mAdaptater = new DirectoryAdaptater(this, 0, mDirectoryList);
            mList.setAdapter(mAdaptater);
     
            mList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                @Override
                public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                    File f = mAdaptater.getItem(position);
     
                    mCurrentDirectory = f;
                    setTitle(f.getAbsolutePath());
                    mAdaptater.update(f.listFiles());
                }
            });
     
            mList.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
                @Override
                public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
                    File file =  (File) parent.getItemAtPosition(position);
                    DialogFragment df = ModifyFileDialogFragment.newInstance(R.string.app_name);
                    df.show(getSupportFragmentManager().beginTransaction(), "dialog");
                    df.getArguments().putSerializable("file", file);
                    return (true);
                }
            });
     
        }
     
        @Override
        public void onBackPressed()
        {
            if (!mCurrentDirectory.getName().equals(mRoot.getName())) {
                File f = mCurrentDirectory.getParentFile();
     
                mCurrentDirectory = f;
                setTitle(f.getAbsolutePath());
                mAdaptater.update(f.listFiles());
            } else
                super.onBackPressed();
        }
        private void init() {
            mDirectoryList = new ArrayList<File>();
            mList = (ListView) findViewById(R.id.listView);
            mRoot = Environment.getRootDirectory().getParentFile();
            mRoot = null;
            if (mRoot.listFiles() == null)
                System.out.println("MROOT =================================== NULL  " + Environment.getExternalStorageDirectory().toString());
            else
                System.out.println("MROOT !=================================== NULL --->" + Environment.getExternalStorageDirectory().toString());
            mCurrentDirectory = mRoot;
        }
     
        public static void deleteFile() {
        }
     
    }
    Quelqu'un peut m'aider svp ? ça fait trois jours que je bloque dessus

    Cordialement,

  2. #2
    Futur Membre du Club
    Femme Profil pro
    Epitech Paris
    Inscrit en
    Septembre 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Epitech Paris
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2016
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    Up

  3. #3
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    "External Storage" dans le jargon Android, c'est la partie SD visible quand le device est branché (USB) comme disque externe USB.... En bref, la partie "visible" depuis un ordinateur quoi.
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  4. #4
    Futur Membre du Club
    Femme Profil pro
    Epitech Paris
    Inscrit en
    Septembre 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Epitech Paris
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2016
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    Mais du coup comment fait on pour voir la carte SD et la mémoire interne ?

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Epitech Paris
    Inscrit en
    Septembre 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Epitech Paris
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2016
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    Je viens de comprendre pourquoi ça ne me donne aucun fichier.

    Je n'ai pas le droit de lire /sdcard, pourtant j'ai bien mis la ligne suivante dans androidmanifest.xml :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    Je comprend pas pourquoi je ne peux pas avoir les droits...

    SVP de l'aide !

Discussions similaires

  1. Réponses: 7
    Dernier message: 13/05/2014, 06h11
  2. [Delphi 2005] Comment parcourir la liste des fichiers ?
    Par babyface dans le forum Langage
    Réponses: 2
    Dernier message: 30/06/2005, 11h01
  3. Réponses: 7
    Dernier message: 19/09/2004, 22h01
  4. liste des fichiers d'un répertoire
    Par am dans le forum C
    Réponses: 3
    Dernier message: 04/08/2003, 17h03
  5. [Kylix] Liste des fichiers d'un répertoire
    Par Houben Jacques dans le forum EDI
    Réponses: 3
    Dernier message: 30/11/2002, 21h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo