有时候我们保存文件总会用到文件浏览器功能.那么今天博主带大家做一个。

那么开始,浏览文件,我们就需要写一个文件工具类。

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编写文件浏览器简单实现相关推荐

  1. es文件搜索不到win7服务器,es文件管理器,教您es文件浏览器怎么用

    手机已经成为了生活必需品,但是很多的用户都只是停留在表面,对手机有深入研究的用户就知道es文件浏览器是什么了,ES,全球主动下载超过3亿次,安卓文件管理第一品牌.更好地管理你的手机.平板.家里电脑和云 ...

  2. 安卓手机文件管理器:360°LES文件浏览器

    360度LES文件浏览器功能可谓是非常强大,可以对文件或文件夹进行新建.复制.剪切.删除.移动.搜索等操作.支持多标签页,能设置成root级别的管理器, 关联文件打开,列表或图标的形式显示,拖曳文件, ...

  3. Android10文件管理,10款优秀的Android文件管理器

    本文将介绍10款Android文件管理器,包括:ES File Explorer.Dual File Manager XT.ASTRO File Manager,Ghost Commander,Fil ...

  4. 浅谈Android文件管理器的几种实现方式(原理篇)--对我有帮助

    转自 https://blog.csdn.net/weixin_33698823/article/details/87269955 浅谈Android文件管理器的几种实现方式 为了完成毕业设计,我花费 ...

  5. android文件管理器 xp,雨林木风XP系统es文件浏览器的使用

    雨林木风XP系统es文件浏览器的使用,使用过es文件管理器的用户就知道es文件浏览器它的网络功能,就可以直接设置手机为一个小型的FTP服务器,使用这个FTP服务器,就能轻松把文件传输给在同一局域网下的 ...

  6. android文件管理器项目,浅析Android文件管理器(项目一)

    文件管理器是管理文件的软件,帮助用户处理日常工作,管理储存在本地和网络中的文件.所有文件管理器都提供了基本的操作如创建.打开.查看.编辑.移动和删除文件.许多Android文件管理器还提供了额外功能, ...

  7. android文件管理器listview,浅析Android文件管理器(项目一)

    文件管理器是管理文件的软件,帮助用户处理日常工作,管理储存在本地和网络中的文件.所有文件管理器都提供了基本的操作如创建.打开.查看.编辑.移动和删除文件.许多Android文件管理器还提供了额外功能, ...

  8. 穿越派·派盘 + Solid Explorer = 全能 Android 文件管理器

    Solid Explorer 是一款非常优秀的 Android 文件管理器,Material Design 设计风格,双栏布局,可拖拽操作.支持 ROOT 权限.多媒体浏览器.压缩包支持,Chrome ...

  9. android文件管理器项目,GitHub - yangsmith/FileExplorer: android file explorer android文件管理器...

    File_Explorer Android 文件管理器 #发布版本 ####腾讯助手 ####百度助手 ####91助手 #包常用ui控件有: 1.侧滑菜单slidingMenu 2.兼容action ...

  10. android 文件管理器下载,ES文件管理器下载

    ES文件管理器安卓版是一个能管理手机本地.蓝牙文件.局域网共享和FTP的管理器.通过ES文件管理器下载用户可以在本地.蓝牙设备.局域网共享和FTP中浏览.复制.传输.剪切.删除.重命名文件和文件夹等等 ...

最新文章

  1. python期末考试及答案广东卷_python数据分析答案试题题目及答案,期末考试题库,章节测验答案...
  2. html中after伪类原理,css伪类before跟after原理与使用(原)
  3. 如何修改WAMP中mysql默认空密码
  4. OpenGL实现3D立体显示
  5. 1215.1——动态分配内存的补充realloc
  6. java基础-冒泡排序
  7. 16个大数据常见案例分享,看完别说还不懂大数据!
  8. codebook码本算法
  9. Beyond Part Models: Person Retrieval with Refined Part Pooling (ECCV2018)
  10. FS\OFS\RS\ORS的使用
  11. 字体在其他浏览器正常在IE8显示字体模糊问题解决
  12. CF869A The Artful Expedient 结论题+数论
  13. ETL数据仓库工程师笔试题和面试题整理
  14. Spring缺少aspectjweaver.jar异常
  15. 相位相关影像匹配算法
  16. Lucene5搜索效果问题探究
  17. vue表单验证插件 vuerify
  18. 为了让你在“口袋奇兵,最新Java高级面试题汇
  19. java 淘宝商品评价计算算法
  20. 华为手机配什么蓝牙耳机好?适合华为手机的蓝牙耳机推荐

热门文章

  1. 云服务器上传文件到哪个文件夹,云服务器上传到那个文件夹
  2. 2021-01-26数据治理具备哪些优势
  3. 制造业数据分析存在哪些问题
  4. 美赛整理之带参数的常微分方程拟合问题研究
  5. 2018北邮计算机考研分数线,2018年北京邮电大学软件学院考研复试分数线
  6. 将mysql数据库中的图片读出来的_MySQL存入图片+Qt读入读出数据库中的图片
  7. 手机 debian linux,Android上的Ubuntu Debian Armel
  8. 机器人把大龙拉出来_LOL-LPL夏季赛:Wei男枪打野未换惩戒 ES让BLG拿下首胜
  9. Android项目实战登录注册
  10. python算法-冒泡排序