`
asuschb
  • 浏览: 6991 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

android文件管理实现源码

 
阅读更多
Activity:
package irdc.ex04_21;

/* import相关class */
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import android.app.AlertDialog;
import android.app.ListActivity;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;

public class EX04_21 extends ListActivity
{
  /* 对象声明 
     items:存放显示的名称
     paths:存放文件路径
     rootPath:起始目录
  */
  private List<String> items=null;
  private List<String> paths=null;
  private String rootPath="/";
  private TextView mPath;
  
  /** Called when the activity is first created. */
  @Override
  protected void onCreate(Bundle icicle)
  {
    super.onCreate(icicle);
    
    /* 加载main.xml Layout */
    setContentView(R.layout.main);
    mPath=(TextView)findViewById(R.id.mPath);
    
    getFileDir(rootPath);
  }
  
  /* 取得文件架构的method */
  private void getFileDir(String filePath)
  {
    /* 设定目前所在路径 */
    mPath.setText(filePath);
    
    items=new ArrayList<String>();
    paths=new ArrayList<String>();  
    File f=new File(filePath);  
    File[] files=f.listFiles();

    if(!filePath.equals(rootPath))
    {
      /* 第一笔设定为[回到根目录] */
      items.add("Back to "+rootPath);
      paths.add(rootPath);
      /* 第二笔设定为[回上层] */
      items.add("Back to ../");
      paths.add(f.getParent());
    }
    /* 将所有文件加入ArrayList中 */
    for(int i=0;i<files.length;i++)
    {
      File file=files[i];
      items.add(file.getName());
      paths.add(file.getPath());
    }
    
    /* 声明一ArrayAdapter,使用file_row这个Layout,
                  并将Adapter设定给此ListActivity */
    ArrayAdapter<String> fileList = 
       new ArrayAdapter<String>(this,R.layout.file_row, items);
    setListAdapter(fileList);
  }
  
  /* 设定ListItem被按下时要做的动作 */
  @Override
  protected void onListItemClick(ListView l,View v,int position,long id)
  {
    File file = new File(paths.get(position));
    if(file.canRead())
    {
      if (file.isDirectory())
      {
        /* 如果是文件夹就再进去读取 */
        getFileDir(paths.get(position));
      }
      else
      {
        /* 如果是文件,则弹出AlertDialog */
        new AlertDialog.Builder(this)
            .setTitle("Message")
            .setMessage("["+file.getName()+"] is File!")
            .setPositiveButton("OK",
              new DialogInterface.OnClickListener()
              {
                public void onClick(DialogInterface dialog,int which)
                {
                }
              }).show();         
      }
    }
    else
    {
      /* 弹出AlertDialog显示权限不足 */
      new AlertDialog.Builder(this)
          .setTitle("Message")
          .setMessage("权限不足!")
          .setPositiveButton("OK",
            new DialogInterface.OnClickListener()
            {
              public void onClick(DialogInterface dialog,int which)
              {
              }
            }).show();     
    }
  }
}


layout:
file_row.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView 
  android:id="@+id/text1"
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="wrap_content"
  android:layout_height="20px"
  android:textSize="14sp"
/>

main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:orientation="vertical"
>
  <TextView 
    android:id="@+id/mPath"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:padding="5px"
    android:textSize="18sp"
    android:textColor="@drawable/blue"
  />
  <ListView 
    android:id="@android:id/list"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
  />
</LinearLayout>

分享到:
评论
1 楼 pop1030123 2011-09-23  
好。很好。非常好。

相关推荐

    Android文件管理器源码

    总的来说,这个自定义的Android文件管理器源码涵盖了文件操作的基本功能,通过解析和学习,开发者可以了解Android文件操作的实现细节,提高自己的编程技能。同时,这也为定制化文件管理器提供了参考,开发者可以根据...

    安卓Android源码——文件管理器源码.zip

    【描述】描述中提到的"安卓Android源码——文件管理器源码.zip"是一个包含了实现Android文件管理器功能的源代码集合。这个压缩包可能包含了一系列的图片资源(1_120828192520_1.png和1_120828192520_2.png),这些...

    安卓Android源码——MIUI文件管理器.zip

    【安卓Android源码——MIUI文件管理器】 在Android操作系统中,MIUI是小米公司推出的一个深度定制的用户界面,它以其丰富的功能和独特的设计深受用户喜爱。本压缩包文件包含的是MIUI文件管理器的源代码,对于开发者...

    Android 文件管理器源码

    本文将深入解析一个自编的Android文件管理器源码,旨在帮助开发者理解和实现自己的文件管理应用。 首先,我们关注的是源码中的核心功能。一个基本的文件管理器通常包括以下部分: 1. **文件浏览与目录结构**:源码...

    Android 文件管理器源码.zip

    【Android 文件管理器源码.zip】是一个专门为新手开发者提供的简单文件管理器的源代码资源。在Android平台上,文件管理器是应用程序中常见的组件,它允许用户浏览、操作、创建、删除以及管理设备上的文件和目录。这...

    android文件管理器源码

    本文将深入探讨“android文件管理器源码”中的关键知识点,特别是关于ListView的运用。 首先,Android文件管理器的核心功能是遍历和显示文件系统中的文件和目录。这通常涉及到对`java.io.File`类的使用,该类提供了...

    Android 文件管理器源码.rar

    "Android 文件管理器源码.rar"是一个包含Android文件管理器应用程序源代码的压缩包,旨在供开发者参考和学习。通过研究这份源码,开发者可以深入理解Android系统中的文件操作、UI设计以及相关API的使用。 1. **文件...

    Android 小米文件管理器源码.rar

    《深入解析:Android小米文件管理器源码》 在Android开发领域,理解并研究系统级应用的源码是提升技术水平的重要途径。今天我们将探讨的是小米文件管理器的源码,通过对这一常用应用的源码分析,我们可以深入了解...

    安卓文件管理源码

    总结,这个“安卓文件管理源码”涵盖了Android系统中的文件操作、文件界面展示、权限管理等多个关键知识点,是学习Android文件系统管理和UI设计的宝贵资源。开发者通过分析和理解这个源码,可以提升在实际项目中的...

    android文件管理源码

    以上就是从“android文件管理源码”这个主题中提炼出的关键知识点。这些内容涵盖了Android文件操作的基本原理和常见实践,对于理解Android文件系统管理和多媒体处理有极大的帮助。通过深入学习和理解这些代码,...

    Android应用源码可以管理U盘的文件管理器

    在Android平台上,开发一个能够管理U盘文件的文件管理器是一项技术挑战,因为这涉及到USB设备的访问权限、文件操作接口以及用户界面设计等多个方面。本文将深入探讨如何利用Android应用源码实现这一功能。 首先,要...

    Android小米文件管理器源码

    通过研究这个源码项目,学习者可以了解到Android应用的基本架构,如何实现文件操作,以及如何构建一个用户友好的文件管理界面。同时,也能提升对Android系统级API的理解,提高问题解决能力。对于想要深入Android开发...

    安卓Android源码——时光日志个人日程管理源码.zip

    《安卓Android源码——时光日志个人日程管理应用解析》 在当今信息化社会,个人时间管理和日程安排显得尤为重要,而安卓平台上的应用程序则为我们提供了便利的工具。本篇将详细探讨“时光日志”这款基于Android的...

    android 之文件管理器(源码)

    这个"android 之文件管理器(源码)"实例为开发者提供了一个基础的起点,尤其适合初学者来参考和学习。下面我们将深入探讨这个源码中涉及的关键知识点。 1. **文件系统接口**:Android文件管理器首先需要熟悉的是...

    安卓Android源码——小米系列之小米文件管理器.zip

    【标题】"安卓Android源码——小米系列之小米文件管理器.zip" 提供的是关于小米公司MIUI系统中内置文件管理器的源代码分析。这个压缩包可能包含了用于理解和研究小米文件管理器运行机制的各个组件和功能的源代码。在...

    Android代码-小米文件管理器源码.zip

    《深入剖析小米文件管理器源码——Android编程实践与解析》 小米文件管理器作为一款广泛应用在Android设备上的系统工具,其源码对于我们理解Android系统的文件管理机制、UI设计以及性能优化等方面具有重要的学习...

Global site tag (gtag.js) - Google Analytics