当前位置:首页 » 安卓系统 » android选择文件夹

android选择文件夹

发布时间: 2024-12-14 04:38:42

文件夹选择器怎么实现

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();
}
}
}

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

② android是根据什么去选择三种drawable文件夹下的图片

是根据drawable文件夹的修饰符进行选择的。

比如drawable、drawable-ldpi、drawable-mdpi、drawable-hdpi、drawable-xhdpi、drawalbe-xxhdpi、drawable-xxxhdpi

根据修饰符进行优先匹配。


不同的dpi修饰符对应的dpi如下

drawable-ldpi 120DPI

drawable-mdpi 160DPI

drawable-hdpi 240DPI

drawable-xhdpi 320DPI

drawalbe-xxhdpi 480DPI

drawable-xxxhdpi 640DPI


dpi是根据手机的当前分辨率ppi归一化得到的。

那么PPI如何得来的?

如果手机的宽为X,高为Y,屏幕大小为Z英寸,那么

公式中的X2其实是X的平方,即X*X。

比如三星手机I9260分辨率是1280*720,屏幕大小是4.65英寸,那么计算得到的PPI就是315.8PPI

找一个最近的DPI值应该是320DPI,也就是这个设备被归一化后就是320DPI。属于xhdpi。

系统取图片时会优先选择drawable-xhdpi里面的图片,如果drawable-xhdpi不存在或者没有这张图,就会就近从其它分辨率和默认的无后缀drawable文件夹下取。


比如工程只有在draw-xxhdpi文件下有img图片,而你的设置是xhdpi,就会从xxhdpi取完图片再压缩到对应大小返回给使用者。

安卓手机图片缓存在哪里

手机缓存在哪里找得到
手机缓存在哪里找得到
1、手机储存或SD卡路径:Android/data/com.tencent.qqlive/cache/download具体步骤如下:先打开手机【文件管理器】中的【SD卡/手机储存】,再点击【Android】。打开【data】文件夹。
2、在data文件夹中,以快手APP为例,查找缓存视频的方法如下:首先,打开手机桌面,点击文件管理选项,如下图所示,然后进入下一步。其次,完成上述步骤后,单击Android文件夹,如下图所示,然后进入下一步。
3、若是指的vivo手机自带的浏览器可以在手机浏览器--底部“三”--我的视频--已缓存--即可查看。通过浏览器下载网页内的视频,属于缓存视频。
手里里看过的图片会自动保存在哪个文件夹?
手里里看过的图片会自动保存在哪个文件夹?
1、在手机中找到并点击【浏览器】。在右下角点击原点图标并在弹出菜单栏中下选择【设置】选项。点击【默认下载目录】。点击出现的文件夹【videodata】。在页面里找到浏览网页时自动保存的图片。
2、使用文件管理在DCIM文件夹下camera里。如果你是使用UC浏览器等软件下载的图片,同样使用文件管理在SD卡在“download”文件夹中就能找到。
3、浏览过微信后的视频和图片都会把浏览过微信后的视频和图片,都会保存在手机的文件管理里面,你可以通过文件管理查找之前浏览过的图片。
4、希望能帮助你起凡保存的图片在哪个文件夹里一般都是保存在起凡文件夹下。游戏录像默认保存在7fgame eplayMyGameAutoSave文件夹里,如果你是用Printscreen键来截图的话保存在剪贴板里,需要到画图工具里粘贴后保存。
5、目前,手机大多使用的是是UC浏览器,浏览过的图片文件默认保存在UC浏览器/Library/ApplicationSupport/,手机连接电脑后通过PP助手打开这个路径,在里边的文件夹查找下。
安卓从手机相册获取照片作为头像缓存地址
安卓从手机相册获取照片作为头像缓存地址
打开文件管理器找到tencent文件夹,一般腾讯软件都安装在此文件夹,如微信、qq、邮箱等。
在手机界面中找到图库APP,并点击打开。在新打开的图库界面中下方点击“其它相册”。在其它相册中找到与自己QQ号命名相同的相册,并点击打开。即可看到好友的头像都缓存在这个文件夹中。
一般安卓手机的相机功能都会有固定的存放路径,这个位置默认为:/sdcard/DCIM/100Andro或者/sdcard/DCIM/Camera,这里的sdcard是指手机中的SD卡,在电脑中显示的为可移动磁盘。
问题二:手机的图片缓存在哪个文件里安卓手机的手机桌面图片存储因为厂家的不同有有几种可能:使用文件管理在DCIM文件夹下camera里。
打开桌面上的文件管理器选择手机存储打开DCIM文件夹,根据不同品牌安卓手机的后期开发,文件夹名称可能不太一样,但一定是在DCIM目录文件夹里边。
对于安卓手机,微信好友头像缓存的路径一般为“/sdcard/tencent/MicroMsg/WeiXin/”文件夹下的“Cache”和“Image”文件夹,其中“Cache”文件夹保存的是头像的缩略图,而“Image”文件夹保存的是原图。
手机保存的图片在哪里
手机保存的图片在哪里
1、打开文件管理,选择内部存储,找到Download文件夹并进入,进入界面即可看见网络上保存的相片。若手机拍摄照片后图片无法保存到相册中,建议:请检查手机内存是否已满。
2、手机保存的图片在哪里【提问】网友你好,很高兴接受你的提问,在内部存储的Pictures文件里面,具体找到方法是;以安卓手机操作为例:首先打开手机,找到“文件管理”菜单并点击它。
3、点击保存到手机的图片找不到,是因为有些应用下载之后的图片是会自动被隐藏的。查看自动隐藏的相册,请执行以下步骤:点击移动桌面上的“图库”进入应用程序。单击应用程序右下角的“更多”。
安卓手机相片保存在哪个文件夹啊?
安卓手机相片保存在哪个文件夹啊?
1、首先打开手机主界面找到“文件管理器”菜单,然后点击进入。进入到文件管理器界面后,可以左右滑动来找到“SD卡管理”选项(笔者假定您的手机默认设置成首先存储到SD卡),然后进入。
2、安卓手机查看相机照片的文件夹路径方法如下:首先在桌面上找到【相册】这个应用图标,点击该图标进入相册管理页面。进入相册后,选择需要查看文件路径的照片,点击该照片进入照片浏览模式。
3、拍照图片保存位置如下:如果保存位置为手机内存则是SD卡DCIMCamera中,如果保存位置为SD卡则是SD卡DCIMCamera中。
4、根据不同品牌安卓手机的后期开发,文件夹名称可能不太一样,但一般是在DCIM目录文件夹里边,当然也会有特别,例如在酷派手机中手机拍照的图片是存放在根目录中的Photo中。
安卓系统下,上网浏览的图片等临时文件的存放文件夹在哪?
安卓系统下,上网浏览的图片等临时文件的存放文件夹在哪?
不同浏览器不同的文件夹,但有一个共性,都是放在一个cache或包含cache的文件夹下。比如:UC浏览器的缓存在sdcard下的UCdownloads/cache/文件夹中。但是cache下也有图片,历史记录等各种缓存。
手机本身相机照片是在DCIM-Camera文件夹里。
首先打开手机主界面找到“文件管理器”菜单,然后点击进入。进入到文件管理器界面后,可以左右滑动来找到“SD卡管理”选项(笔者假定您的手机默认设置成首先存储到SD卡),然后进入。
华为手机的文件管理在哪里?首先打开华为手机系统自带的文件管理APP。2进入文件管理以后,我们会看到新的页面,在页面当中我们选择最下方的分类选项。3接着我们在新的页面当中选择内部存储,接着我们就可以看到文件夹了。
找手机缓存的文件,具体步骤如下操作:首先点击手机上的“文件管理”。然后点击“手机存储”。然后选择‘所有文件’中的“Android”这个文件夹。然后找到“data”这个文件夹。
查看微信已接收的图片或视频。b.文档/压缩包等其他文件进入手机““文件管理”APP微信(图标)全部/文档/其他”,查看微信中已接收的文档/压缩包等其他文件。

④ 手机下载的视频在哪个文件

1,在自己的手机上点一下“文件管理”打开那个文件夹。

2,在手机类目下,可以看到很多个文件夹的列表,认真从里面找到那个安卓Android文件夹。

3,进入Android文件夹之后,可以看到第一个是装有安卓数据的文件夹,也就是data文件夹,再次点击打开。

4,在data的界面下,滑动屏幕向下,直接找到这个“com.tencent.qqlive”文件夹。

5,打开页面会见到两个选项,一个是cache,而另外那个就是需要找的files。点击选择第二个files文件夹。

6,找到“videos文件夹”,曾经缓存过的那些文件都在这里。

热点内容
车辆se是什么配置 发布:2024-12-14 07:57:24 浏览:804
小米手机存储模式 发布:2024-12-14 07:56:04 浏览:348
包粽子脚本 发布:2024-12-14 07:56:00 浏览:109
我的世界地图怎么传到服务器 发布:2024-12-14 07:33:45 浏览:617
存储器eeprom 发布:2024-12-14 07:25:05 浏览:862
全站源码 发布:2024-12-14 07:23:45 浏览:17
mac如何加密照片 发布:2024-12-14 07:18:45 浏览:454
阻止应用程序访问图形 发布:2024-12-14 07:08:39 浏览:166
罗技g502自写压枪宏脚本 发布:2024-12-14 07:07:58 浏览:170
现上教育平台的帐号和密码是什么 发布:2024-12-14 07:05:46 浏览:981