2011-06-03 4 views
2

Je voudrais lire le contenu de mobiles comme des répertoires avec des sous-répertoires ainsi que des fichiers qui sont disponibles dans le téléphone Android.Informations sur le contenu de téléphone Android

J'ai mis en place une application pour obtenir le contenu du téléphone Android comme suit

Intent intent = new Intent(); 
intent.setAction(Intent.ACTION_PICK); 
// Browse in the following folder. 
Uri startDir = Uri.parse(Environment.getExternalStorageDirectory().getAbsolutePath()); 
// Files and directories 
intent.setDataAndType(startDir, "vnd.android.cursor.dir/lysesoft.andexplorer.file"); 

Puis-je obtenir les répertoires et les fichiers sans utiliser andexplorer.file .ou est-il possible d'obtenir le contenu de téléphone Android?

Répondre

1

Il n'est pas tout à fait clair ce que vous entendez par "obtenir le contenu du téléphone Android". Si vous parlez d'une liste des fichiers et des répertoires, voici une application de l'explorateur de fichiers trivial qui montre comment:

package com.explorenm.filelist; 

import java.io.File; 
import android.app.ListActivity; 
import android.content.Context; 
import android.os.Bundle; 
import android.view.ContextMenu; 
import android.view.View; 
import android.widget.AdapterView; 
import android.widget.AdapterView.OnItemClickListener; 
import android.widget.ArrayAdapter; 
import android.widget.ListView; 
import android.widget.TextView; 
import android.widget.Toast; 

public class FileList extends ListActivity { 
    private String startdir = "/"; 
    private File workingdir = new File(startdir); 
    private Context ctx; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     ctx = this; 

     if (workingdir.exists()) { 
      setListAdapter(new ArrayAdapter<String>(ctx, R.layout.listitem, workingdir.list()));   
      ListView lv = getListView(); 
      lv.setTextFilterEnabled(true); // allow user to type to go to a specific item in the list  
      lv.setOnItemClickListener(new OnItemClickListener() { 
       public void onItemClick(AdapterView<?> parent, View view, 
        int position, long id) { 
         File selection = (workingdir.listFiles())[position]; 
         if (selection.isDirectory()) { 
          workingdir = selection; 
          setListAdapter(new ArrayAdapter<String>(ctx, R.layout.listitem, workingdir.list()));  
         } else { 
          Toast.makeText(getApplicationContext(), selection.getAbsolutePath(), Toast.LENGTH_SHORT).show(); 
         } 
       } 
       }); 
      //registerForContextMenu(lv); 
     } else { 
      setContentView(R.layout.main); 
      TextView tv = (TextView) findViewById(R.id.tv); 
       tv.setText(workingdir.getAbsolutePath() + " does not exist."); 
     } 
    } 
} 

En supposant que le fichier a été rendu lisible par l'application (ou si vous êtes racine sur un périphérique racine) , vous pouvez utiliser les techniques Java standard pour lire le contenu du fichier; comment a été répondu dans d'autres questions, telles que how to read file from the phone memory in android?

Questions connexes