admin管理员组

文章数量:1624793

安卓似乎没有一个专门的文件浏览器功能,当一个app某功能需要用户操作sd卡上的文件时,可以借助第三方开源代码实现,这样不必重复创造轮子。

FileExplore(github)

具体用法上面有写,注意将.java和.xml都要复制到自己的程序中,还要修改Manifest。


举个栗子(非完整工程):

效果:在app中选中文件播放。

在MainActivity.java中:

<span style="font-size:18px;">Intent i=new Intent(this,FileExplore.class);
startActivityForResult(i,1); </span>

同时加上响应函数:

@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
	switch(requestCode) {
	    case 1:
	    {
	        String result = data.getExtras().getString("result");
	        path=result;
	       	mMediaPlayer.setDataSource(path);
	        break;
	    }
	}
    }
而在FileExplore中的完成操作中加入:
// Perform action with file picked
Intent intent=new Intent();
String reslt=path.getAbsolutePath()+"/"+chosenFile;
intent.putExtra("result", reslt);
FileExplore.this.setResult(RESULT_OK, intent);
//关闭Activity
FileExplore.this.finish();


具体逻辑过程:MainActivity => 跳转到FileExplore => 执行文件选中 => 跳回到MainActivity中响应函数

本文标签: 开源浏览器代码功能文件