Wie man den vollständigen Pfad der Datei aus android-Anwendung

ich habe mehrere text-Dateien in meine sdcard-Ordner und ich habe bauen eine Aktivität, die ermöglicht dem Benutzer, um die gewünschte Datei auswählen können.

aber noch,ich habe zu verwenden, übergeben Sie den Pfad zur Datei Konstruktor(siehe line2).
textfile.java:

File sdcard = Environment.getExternalStorageDirectory();

        //Get the text file

        File file = new File(sdcard,"my/ans.txt");//line2

        //ob.pathh
         //Read text from file

         StringBuilder text = new StringBuilder();
         try {
             BufferedReader br = new BufferedReader(new FileReader(file));

         } 

möchte ich den zweiten parameter ie Dateipfad gespeichert werden als string.

gibt es irgendeine Art, wie ich den kompletten Pfad der ausgewählten Datei .

Der code, den ich verwendet hatte ist wie folgt:

AndroindApplication .java:

import java.io.File;
import java.util.ArrayList;
import java.util.List;
import android.app.AlertDialog;
import android.app.ListActivity;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;

public class AndroindApplication extends ListActivity {

 private List<String> item = null;
 public List<String> path = null;
 private String root="/";
 private TextView myPath;
 public String pathh;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.sdcard);
        myPath = (TextView)findViewById(R.id.path);
        getDir("/sdcard/");
    }

    private void getDir(String dirPath)
    {
     myPath.setText("Location: " + dirPath);

     item = new ArrayList<String>();

     path = new ArrayList<String>();

     File f = new File(dirPath);
     File[] files = f.listFiles();


     if(!dirPath.equals(root))
     {

      item.add(root);
      path.add(root);

      item.add("../");
      path.add(f.getParent());

     }

     for(int i=0; i < files.length; i++)
     {
       File file = files[i];
       path.add(file.getPath());
       if(file.isDirectory())
        item.add(file.getName() + "/");
       else
        item.add(file.getName());
     }

     ArrayAdapter<String> fileList =
      new ArrayAdapter<String>(this, R.layout.row, item);
     setListAdapter(fileList);
    }

 @Override
 protected void onListItemClick(ListView l, View view, int position, long id) {

  File file = new File(path.get(position));
  pathh=path.get(position);
  Log.e("path="+path,"dxgx");
  if (file.isDirectory())
  {
   if(file.canRead())
    getDir(path.get(position));
   else
   {

    new AlertDialog.Builder(this)
    .setIcon(R.drawable.icon)
    .setTitle("[" + file.getName() + "] folder can't be read!")
    .setPositiveButton("OK", 
      new DialogInterface.OnClickListener() {

       public void onClick(DialogInterface dialog, int which) {
        //TODO Auto-generated method stub
       }
      }).show();
   }
  }
  else
  {
      Intent  myIntent = new Intent(view.getContext(), textfile.class);//goes to textfile.java
      startActivityForResult(myIntent, 0);


  }
 }
}

Ich brauche, um den absoluten Pfad, so dass ich übergeben Sie es an

File file = new File(sdcard,"my/ans.txt");//line2  

und nicht haben, um geben Sie den Dateipfad in den code whenver Sie eine neue Datei geöffnet werden

Ist es trotzdem kann ich es bekommen AndroidApplication.java ?

InformationsquelleAutor ProgramME | 2011-04-09
Schreibe einen Kommentar