android文件管理器编写,Android编写文件浏览器简单实现
有时候我们保存文件总会用到文件浏览器功能.那么今天博主带大家做一个。
那么开始,浏览文件,我们就需要写一个文件工具类。
import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.util.Log;
public class FileUtils {
/**
* 获取当前目录下的所有文件或文件夹
* @param path 路径
* @return
*/
public static List> GetPathFilsList(String path) {
List> list = new ArrayList>();
List> filelist = new ArrayList>();
try {
String[] Files = new File(path).list();
for(String file : Files){
Map map = new HashMap();
if(new File(path+file).isDirectory()){
map.put("isDirectory",2);
map.put("fileName", file);
list.add(map);
}else {
map.put("isDirectory", 1);
map.put("fileName", file);
filelist.add(map);
}
}
list.addAll(filelist);
return list;
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
return null;
}
}
}
这里会将文件和文件夹区分出来,便于显示区分。
之后我们需要用到一个适配器,用于显示这些数据的ListView
private class FileBrowserAdapter extends BaseAdapter{
private List> fileList;
private Context context;
public FileBrowserAdapter(Context Context,
List> fileList) {
this.fileList = fileList;
this.context = context;
}
@Override
public int getCount() {
return fileList == null ? 0 : fileList.size();
}
@Override
public Object getItem(int position) {
return fileList.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@SuppressLint("InflateParams")
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater mInflater = LayoutInflater
.from(getApplicationContext());
View view = null;
view = mInflater.inflate(R.layout.file_list_item, null);
ImageView image = (ImageView) view
.findViewById(R.id.file_list_item_image);
if (Integer
.parseInt(fileList.get(position).get("isDirectory") + "") == 2)
image.setImageResource(R.drawable.folder);
else if (Integer.parseInt(fileList.get(position).get("isDirectory")
+ "") == 1)
image.setImageResource(R.drawable.documents);
TextView textView = (TextView) view
.findViewById(R.id.file_list_item_testview);
textView.setTextColor(Color.BLACK);
textView.setText(fileList.get(position).get("fileName") + "");
return view;
}
}
最后我们需要实现这些
dir = Environment.getExternalStorageDirectory()
.getAbsolutePath() + "/";
fileListView = (ListView) findViewById(R.id.file_listview);
listItemClickListener = new FileListItemClickListener();
// //设置点击事件
fileListView.setOnItemClickListener(listItemClickListener);
fileList = FileUtils.GetPathFilsList(dir);
if (new File(dir).getParent() != null) {
Map map = new HashMap();
map.put("isDirectory", 0);
map.put("fileName", new File(dir).getParent());
fileList.add(0, map);
}
FileBrowserAdapter phoneFileBrowserAdapter = new FileBrowserAdapter(
getApplicationContext(), fileList);
fileListView.setAdapter(phoneFileBrowserAdapter);
效果图:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
android文件管理器编写,Android编写文件浏览器简单实现相关推荐
- es文件搜索不到win7服务器,es文件管理器,教您es文件浏览器怎么用
手机已经成为了生活必需品,但是很多的用户都只是停留在表面,对手机有深入研究的用户就知道es文件浏览器是什么了,ES,全球主动下载超过3亿次,安卓文件管理第一品牌.更好地管理你的手机.平板.家里电脑和云 ...
- 安卓手机文件管理器:360°LES文件浏览器
360度LES文件浏览器功能可谓是非常强大,可以对文件或文件夹进行新建.复制.剪切.删除.移动.搜索等操作.支持多标签页,能设置成root级别的管理器, 关联文件打开,列表或图标的形式显示,拖曳文件, ...
- Android10文件管理,10款优秀的Android文件管理器
本文将介绍10款Android文件管理器,包括:ES File Explorer.Dual File Manager XT.ASTRO File Manager,Ghost Commander,Fil ...
- 浅谈Android文件管理器的几种实现方式(原理篇)--对我有帮助
转自 https://blog.csdn.net/weixin_33698823/article/details/87269955 浅谈Android文件管理器的几种实现方式 为了完成毕业设计,我花费 ...
- android文件管理器 xp,雨林木风XP系统es文件浏览器的使用
雨林木风XP系统es文件浏览器的使用,使用过es文件管理器的用户就知道es文件浏览器它的网络功能,就可以直接设置手机为一个小型的FTP服务器,使用这个FTP服务器,就能轻松把文件传输给在同一局域网下的 ...
- android文件管理器项目,浅析Android文件管理器(项目一)
文件管理器是管理文件的软件,帮助用户处理日常工作,管理储存在本地和网络中的文件.所有文件管理器都提供了基本的操作如创建.打开.查看.编辑.移动和删除文件.许多Android文件管理器还提供了额外功能, ...
- android文件管理器listview,浅析Android文件管理器(项目一)
文件管理器是管理文件的软件,帮助用户处理日常工作,管理储存在本地和网络中的文件.所有文件管理器都提供了基本的操作如创建.打开.查看.编辑.移动和删除文件.许多Android文件管理器还提供了额外功能, ...
- 穿越派·派盘 + Solid Explorer = 全能 Android 文件管理器
Solid Explorer 是一款非常优秀的 Android 文件管理器,Material Design 设计风格,双栏布局,可拖拽操作.支持 ROOT 权限.多媒体浏览器.压缩包支持,Chrome ...
- android文件管理器项目,GitHub - yangsmith/FileExplorer: android file explorer android文件管理器...
File_Explorer Android 文件管理器 #发布版本 ####腾讯助手 ####百度助手 ####91助手 #包常用ui控件有: 1.侧滑菜单slidingMenu 2.兼容action ...
- android 文件管理器下载,ES文件管理器下载
ES文件管理器安卓版是一个能管理手机本地.蓝牙文件.局域网共享和FTP的管理器.通过ES文件管理器下载用户可以在本地.蓝牙设备.局域网共享和FTP中浏览.复制.传输.剪切.删除.重命名文件和文件夹等等 ...
最新文章
- python期末考试及答案广东卷_python数据分析答案试题题目及答案,期末考试题库,章节测验答案...
- html中after伪类原理,css伪类before跟after原理与使用(原)
- 如何修改WAMP中mysql默认空密码
- OpenGL实现3D立体显示
- 1215.1——动态分配内存的补充realloc
- java基础-冒泡排序
- 16个大数据常见案例分享,看完别说还不懂大数据!
- codebook码本算法
- Beyond Part Models: Person Retrieval with Refined Part Pooling (ECCV2018)
- FS\OFS\RS\ORS的使用
- 字体在其他浏览器正常在IE8显示字体模糊问题解决
- CF869A The Artful Expedient 结论题+数论
- ETL数据仓库工程师笔试题和面试题整理
- Spring缺少aspectjweaver.jar异常
- 相位相关影像匹配算法
- Lucene5搜索效果问题探究
- vue表单验证插件 vuerify
- 为了让你在“口袋奇兵,最新Java高级面试题汇
- java 淘宝商品评价计算算法
- 华为手机配什么蓝牙耳机好?适合华为手机的蓝牙耳机推荐
热门文章
- 云服务器上传文件到哪个文件夹,云服务器上传到那个文件夹
- 2021-01-26数据治理具备哪些优势
- 制造业数据分析存在哪些问题
- 美赛整理之带参数的常微分方程拟合问题研究
- 2018北邮计算机考研分数线,2018年北京邮电大学软件学院考研复试分数线
- 将mysql数据库中的图片读出来的_MySQL存入图片+Qt读入读出数据库中的图片
- 手机 debian linux,Android上的Ubuntu Debian Armel
- 机器人把大龙拉出来_LOL-LPL夏季赛:Wei男枪打野未换惩戒 ES让BLG拿下首胜
- Android项目实战登录注册
- python算法-冒泡排序