`
gryphone
  • 浏览: 433673 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

文件浏览器

阅读更多

[代码 步骤]

1. 定义所需界面 main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="bottom"
    >
<Button
	android:id="@+id/previous"  
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text=" Back "
    android:gravity="right"
    />
 <TextView
	android:id="@+id/path"  
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:singleLine="true"
    />
</LinearLayout>
<ListView
	android:id="@+id/list"  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    />
</LinearLayout>

 

 

 

2. 定义一些后面用到的字符串常量

public final static String FILE_QUERY = "file_query";
	
	public final static String FILE_NAME = "name";
	
	public final static String FILE_TYPE = "type";
	public final static String FILE_TYPE_FILE = "file";
	public final static String FILE_TYPE_DIRECTORY = "directory";

 

 

 

3. 定义存放查询结果的数据结构

//1. 定义
List<Map<String,String>> value;

//2. 初始化
value = new ArrayList<Map<String, String>>();

 

 

 

4. 定义与文件有关的变量 用于存放结果

//存放 查询目标
String target="";

//存放 查询目标的上级目录
String parent="";

 

 

5. 定义方法 用于查询目标的子文件/目录

public String updateNext(String s){
    	parent = target;
    	target += "/" + s;
    	
    	return target;
    }


public List<Map<String,String>> getNextList(String s){
    	String string = updateNext(s);
    	
    	if(checkIsFile(string)){
    		
    		//string 就是你所需要的文件
    		
    		string = updatePrevious();
    	}
    	
    	return list(string);
    }

 

6. 定义方法 用于查询目标的上级目录

public String updatePrevious(){
    	target = parent;
    	
    	File file = new File(parent);
    	parent = file.getParent();
    	
    	return target;
    }


public List<Map<String,String>> getPreviousList(){
    	String string = updatePrevious();
    	
    	return list(string);
    }

 

7. 注册查询事件: 当单击ListView 中某项 查询子文件/子目录 并刷新结果

list.setOnItemClickListener(new OnItemClickListener(){
    		@Override
    		public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
    				long arg3) {
    			// TODO Auto-generated method stub
    			String s = value.get((int)arg3).get("name");
    			
    			value = getNextList(s);
    			
    			adapter.notifyDataSetChanged();
    			
    		}
            });

 

 

 

8. 注册查询事件: 当返回Button时候 返回上级目录 并刷新结果

previous.setOnClickListener(new OnClickListener(){
			public void onClick(View v) {
				// TODO Auto-generated method stub
				value = getPreviousList();
				
				adapter.notifyDataSetChanged();
			}
        });

 

 

done!

 

分享到:
评论

相关推荐

    delphi编写的文件浏览器

    本篇将深入探讨Delphi如何被用来编写文件浏览器。 文件浏览器是操作系统中一个核心组件,用于帮助用户在计算机上查找、访问和管理文件及文件夹。使用Delphi开发文件浏览器,开发者可以利用其强大的VCL(Visual ...

    android 仿ES文件浏览器源码.rar

    【Android 仿ES文件浏览器源码解析】 在Android开发中,构建一个强大的文件管理器是一项挑战,而"android 仿ES文件浏览器源码"则提供了一个实现此类功能的参考实例。ES文件浏览器是一款广受欢迎的Android应用,它...

    本示例实现SD卡文件浏览器

    【标题】: SD卡文件浏览器实现详解 在Android系统中,SD卡(Secure Digital Card)是设备扩展存储的重要部分,用户通常需要访问和管理SD卡上的文件。本示例旨在帮助开发者实现一个功能完备的SD卡文件浏览器,使得...

    Qt-C++实现文件浏览器

    在本文中,我们将深入探讨如何使用Qt-C++框架来实现一个功能完备的文件浏览器。Qt是一个跨平台的应用程序开发框架,支持多种操作系统,包括Windows、Linux、macOS等。使用Qt,我们可以方便地构建GUI(图形用户界面)...

    DST文件浏览器查带软件.rar

    【DST文件浏览器查带软件】是一款专为管理和探索DST格式文件而设计的应用程序,其主要功能集中在高效浏览、搜索以及操作这类特殊文件。DST通常代表Data Storage Technology或Digitally Signed Transaction,它们可能...

    C#本地文件浏览器

    《C#本地文件浏览器》 在信息技术领域,文件浏览器是一个不可或缺的工具,它允许用户方便地浏览、管理和操作计算机上的文件和目录。本项目“C#本地文件浏览器”旨在提供一个简洁而实用的界面,让用户能够高效地进行...

    Qt文件浏览器,Linux

    【Qt文件浏览器,Linux】是基于Linux操作系统开发的一款应用程序,利用了QT4.6框架进行构建。QT(Qt)是一个跨平台的C++图形用户界面应用程序开发框架,它提供了丰富的库和工具,使得开发者能够在多种操作系统上创建...

    基于QT的文件浏览器.zip

    【基于QT的文件浏览器】是一种使用QT开发框架构建的应用程序,它允许用户浏览和操作本地文件系统。QT是一个跨平台的C++库,为开发者提供了丰富的API,用于创建图形用户界面(GUI)和其他多种功能。在文件浏览器的...

    C# Winform 一个简单的文件浏览器控件

    在本文中,我们将深入探讨如何使用C# Winform来创建一个简单的文件浏览器控件,该控件基于.NET Framework 4.0。文件浏览器控件是应用程序中常见的元素,它允许用户浏览、选择和操作文件系统中的文件和目录。在C#编程...

    ES文件浏览器.rar

    《ES文件浏览器详解》 ES文件浏览器是一款深受用户喜爱的多功能文件管理应用,它以其强大的功能、简洁的界面和良好的兼容性,在众多的文件管理器中脱颖而出。在Android平台上,ES文件浏览器扮演着核心的角色,帮助...

    android文件浏览器 完整版

    在Android平台上,一个完整的文件浏览器应用是至关重要的,它允许用户轻松访问、管理以及操作设备上的文件和目录。"android文件浏览器 完整版" 提供了这样的功能,让用户能够打开并处理各种类型的文件,包括但不限于...

    java编写的简单文件浏览器

    【标题】:“java编写的简单文件浏览器” 在Java编程领域,开发一个文件浏览器是一个常见的学习项目,它可以帮助初学者理解I/O流、文件系统操作以及图形用户界面(GUI)设计等核心概念。这个“java编写的简单文件...

    Re安卓文件浏览器

    "Re安卓文件浏览器"是一款专为Android用户设计的高效文件管理工具,其强大的功能和兼容性使其在同类应用中脱颖而出。这款应用不仅能够帮助用户轻松地浏览、组织和管理手机或平板电脑上的文件,还具备打开和编辑各种...

    java实现文件浏览器

    用JAVA语言实现的文件浏览器,类似于资源管理器的功能;

    nh格式文件浏览器

    "NH格式文件浏览器"是一种专为处理特定类型文件——NH格式文件而设计的应用软件。NH格式,全称为“NetHelp”或“网络帮助”格式,主要用于存储和展示电子文档,尤其是那些具有复杂结构和丰富交互性的帮助文件。这类...

    SD开文件浏览器

    "SD开文件浏览器"是一款专为用户设计的文件管理应用,主要功能是允许用户查看和管理存储在移动设备,特别是SD卡上的文件。虽然描述中提到它无法进入某些特定文件或目录,但我们可以深入探讨一下关于文件浏览器以及SD...

    多窗口文件浏览器 Linux 版

    标题所提到的“多窗口文件浏览器 Linux 版”正是为了解决这个问题而设计的。它允许用户在同一时间开启多个独立的资源浏览器窗口,从而可以在不同的文件系统路径之间快速切换,提高开发和日常工作的效率。 在描述中...

    linux文件浏览器chrofb-0.7

    Linux下的文件浏览器“chrofb-0.7”是一款专为Linux用户设计的强大且功能丰富的文件管理工具。作为Linux环境中的一颗耀眼明星,它不仅具备了基础的文件浏览功能,还融入了一系列创新特性,旨在提升用户的操作体验和...

Global site tag (gtag.js) - Google Analytics