2011-06-03 79 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?