2011-06-03 50 views
2

我想閱讀像子目錄目錄一樣的移動內容以及Android手機中可用的文件。Android手機內容信息

我已經實現的應用得到android手機的內容如下

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"); 

我能得到的目錄和文件,而無需使用andexplorer.file。或者有沒有什麼辦法讓內容android手機?

回答

1

「獲取android手機的內容」並不完全清楚你的意思。如果你正在談論的文件和目錄的列表,這裏是一個簡單的文件瀏覽器應用程序,展示瞭如何:

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."); 
     } 
    } 
} 

假設該文件已經取得了應用程序讀取(或你是一個植根設備根) ,您可以使用標準的Java技術來讀取文件內容;在其他問題上如何回答,例如how to read file from the phone memory in android?