导航:首页 > 文件教程 > 文件选择器

文件选择器

发布时间:2024-08-25 18:14:55

『壹』 手机文件选择器在哪

手机文件选择器在您的应用列表内会有个名为文件管理器的应用,点击进去就可以看到自己的文件了。如果您的手机没有自带文件管理器的话,您可以前往各大应用市场下载MT管理器或者RE管理器,比手机自带的文件管理器多出了不少内容,您都可以选择。

手机文件管理:

手机文件管理器是最简单、实用的安卓文件管理工具,能识别标识文本、音乐、视频、PDF等基本文档,通过安卓文件管理你可以对手机文件和文件夹进行基本的拷贝,粘帖,删除,移动等操作。

『贰』 文件夹选择器怎么实现

Android中文件选择器的实现

今天给大家分享下文件选择器的作用 , 具体就是获取用户在在SD卡选中的文件/文件夹路径 ,类似于C#中
OpenFileDialog控件(对C#的一站式开发还是念念不忘)。功能实现起来比较简单,主要是帮助大家节省开发时间。

网上流传较广的一个成品如下 <[Android实例] 文件选择器>, 本文也是根据上面的成品修改而成,使其更易
理解,效率更高。 除此之外,主要特色有:
1、我们监听了用户按下Back键的事件,使其返回上一层目录;
2、针对不同的文件类型(文件vs文件夹 , 目标文件vs其他文件)做了特殊处理。

知识点一、 File 类的使用
文件选择器的主要功能是:浏览文件\文件夹、文件类型等;都是通过java File类来实现的。
关于File类的使用,请参考如下博客:
<<来自java文档 File类>>
<<Java File类>>

知识点二、调用方法说明
使用了startActivityForResult()发起调用以及onActivityResult()方法接受回调后的信息。

其他的也没什么好说了,大家看看代码注释吧~~ so easy - - 。

FileChooserActivity.java 实现文件选择的类 。

[java] view plainprint?
public class CopyOfFileChooserActivity extends Activity {

private String mSdcardRootPath ; //sdcard 根路径
private String mLastFilePath ; //当前显示的路径

private ArrayList<FileInfo> mFileLists ;
private FileChooserAdapter mAdatper ;

//配置适配器
private void setGridViewAdapter(String filePath) {
updateFileItems(filePath);
mAdatper = new FileChooserAdapter(this , mFileLists);
mGridView.setAdapter(mAdatper);
}
//根据路径更新数据,并且通知Adatper数据改变
private void updateFileItems(String filePath) {
mLastFilePath = filePath ;
mTvPath.setText(mLastFilePath);

if(mFileLists == null)
mFileLists = new ArrayList<FileInfo>() ;
if(!mFileLists.isEmpty())
mFileLists.clear() ;

File[] files = folderScan(filePath);
if(files == null)
return ;
for (int i = 0; i < files.length; i++) {
if(files[i].isHidden()) // 不显示隐藏文件
continue ;

String fileAbsolutePath = files[i].getAbsolutePath() ;
String fileName = files[i].getName();
boolean isDirectory = false ;
if (files[i].isDirectory()){
isDirectory = true ;
}
FileInfo fileInfo = new FileInfo(fileAbsolutePath , fileName , isDirectory) ;
//添加至列表
mFileLists.add(fileInfo);
}
//When first enter , the object of mAdatper don't initialized
if(mAdatper != null)
mAdatper.notifyDataSetChanged(); //重新刷新
}
//获得当前路径的所有文件
private File[] folderScan(String path) {
File file = new File(path);
File[] files = file.listFiles();
return files;
}
private AdapterView.OnItemClickListener mItemClickListener = new OnItemClickListener() {
public void onItemClick(AdapterView<?> adapterView, View view, int position,
long id) {
FileInfo fileInfo = (FileInfo)(((FileChooserAdapter)adapterView.getAdapter()).getItem(position));
if(fileInfo.isDirectory()) //点击项为文件夹, 显示该文件夹下所有文件
updateFileItems(fileInfo.getFilePath()) ;
else if(fileInfo.isPPTFile()){ //是ppt文件 , 则将该路径通知给调用者
Intent intent = new Intent();
intent.putExtra(EXTRA_FILE_CHOOSER, fileInfo.getFilePath());
setResult(RESULT_OK , intent);
finish();
}
else { //其他文件.....
toast(getText(R.string.open_file_error_format));
}
}
};
public boolean onKeyDown(int keyCode , KeyEvent event){
if(event.getAction() == KeyEvent.ACTION_DOWN && event.getKeyCode()
== KeyEvent.KEYCODE_BACK){
backProcess();
return true ;
}
return super.onKeyDown(keyCode, event);
}
//返回上一层目录的操作
public void backProcess(){
//判断当前路径是不是sdcard路径 , 如果不是,则返回到上一层。
if (!mLastFilePath.equals(mSdcardRootPath)) {
File thisFile = new File(mLastFilePath);
String parentFilePath = thisFile.getParent();
updateFileItems(parentFilePath);
}
else { //是sdcard路径 ,直接结束
setResult(RESULT_CANCELED);
finish();
}
}
}

界面依旧很丑陋,囧 ,大家可以根据需要在此基础上添加功能 。

阅读全文

与文件选择器相关的资料

热点内容
ps入门必备文件 浏览:348
以前的相亲网站怎么没有了 浏览:15
苹果6耳机听歌有滋滋声 浏览:768
怎么彻底删除linux文件 浏览:379
编程中字体的颜色是什么意思 浏览:534
网站关键词多少个字符 浏览:917
汇川am系列用什么编程 浏览:41
笔记本win10我的电脑在哪里打开摄像头 浏览:827
医院单位基本工资去哪个app查询 浏览:18
css源码应该用什么文件 浏览:915
编程ts是什么意思呢 浏览:509
c盘cad占用空间的文件 浏览:89
不锈钢大小头模具如何编程 浏览:972
什么格式的配置文件比较主流 浏览:984
增加目录word 浏览:5
提取不相邻两列数据如何做图表 浏览:45
r9s支持的网络制式 浏览:633
什么是提交事务的编程 浏览:237
win10打字卡住 浏览:774
linux普通用户关机 浏览:114

友情链接