`
jk138
  • 浏览: 153783 次
  • 性别: Icon_minigender_1
  • 来自: 茂名
社区版块
存档分类
最新评论

Android实例一:文件搜索

阅读更多

本例子参考SDK开发范例大全

 

 

说明:以ListActitivy显示文件列表,以TextView来显示当前路径,再搭配java.io.File来实现手机版的资源管理器

 

 

 

FileSerarchActivity.java


package com.chaowen;

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 FileSerarchActivity extends ListActivity {
     /**
      * 对象声明
      * items:存放显示的名称
      * paths:存放文件路径
      * rootPath:起始目录
      */
	private List<String> items = null;
	private List<String> paths = null;
	private String rootPath = "/";
	private TextView mPath ;
	
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        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.isDirectory()){
    		   //如果是文件夹就再进一次
    		   getFileDir(paths.get(position));
    		   
    	   }else{
    		   //如果是文件,则跳出AlertDialog
    		   new AlertDialog.Builder(this).setIcon(R.drawable.icon)
    		                                .setTitle("["+file.getName()+"] is File!")
    		                                .setPositiveButton("OK",new DialogInterface.OnClickListener() {
												
												@Override
												public void onClick(DialogInterface dialog, int which) {
													
													
												}
											}).show();
    	   }
    }
    
    
}

   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"
    >
    </TextView>
    <ListView 
      android:id="@android:id/list"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
    
    >
    </ListView>
  </LinearLayout>

   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="50px"
    android:textSize="20sp"
  >
  </TextView>
    

  

  • 大小: 14.7 KB
分享到:
评论

相关推荐

    android开发实例大全_王东华

    实例028: 开发一个文件搜索程序 58 实例029: 单击按钮后实现按钮置换 60 实例030: 模拟实现一个时钟界面效果 62 实例031: 联合使用DatePicker和TimePicker 来选择日期和时间 65 实例032:动态分隔手机屏幕 68 ...

    Eclipse编写的Android文件搜索实例

    本实例将深入探讨如何使用Eclipse V4.2.0来编写一个功能完善的文件搜索应用。这个实例旨在帮助开发者理解如何在Android平台上实现文件的搜索与管理。 首先,我们需要了解Android的文件系统结构。Android设备上的...

    Android.例子.实例.文件浏览器

    总的来说,构建一个Android文件浏览器实例涉及到文件系统操作、UI设计、事件处理以及文件操作。这需要对Android SDK有深入的理解,同时也需要熟悉文件I/O和多线程编程。通过实践和学习,你可以创建出功能强大且用户...

    Android手机间文件互传实例

    本文将深入探讨如何实现Android手机间的文件传输实例,主要涉及的技术点包括:蓝牙传输、Wi-Fi Direct、Airdrop(仅限部分Android设备)以及云服务共享。 1. **蓝牙传输**: 蓝牙是一种短距离无线通信技术,适用于...

    Android应用小实例--SD卡文件浏览器

    在Android平台上,开发一个SD卡文件浏览器是一个常见的实践任务,这可以帮助用户查看并管理设备上的文件。...对于初学者来说,这个实例是一个很好的实践项目,能够加深对Android文件系统、UI设计和事件处理的理解。

    模仿android文件管理器的实例

    这个实例是关于如何模仿Android内置的文件管理器功能的一个示例,主要涉及到了`ListView`的使用,这是Android UI设计中非常重要的一个组件。 `ListView`在Android开发中被广泛用于显示大量的数据列表,例如联系人、...

    android studio项目实例

    本项目是一个基于 Android Studio 开发的音乐播放器应用实例。它不仅为初学者提供了一个完整的实践平台,也适用于有一定经验的开发者来深入探索 Android 应用的高级特性。 #### 开发环境配置 为了确保项目的顺利...

    Android实例之手机震动

    【Android实例之手机震动】是关于在Android平台上实现设备震动功能的一个编程实例。这个实例具有易用性,可方便地被开发者修改和应用到自己的项目中。为了确保安全,作者提醒用户在下载后进行杀毒处理,同时也强调...

    android源码程序:五子棋

    【Android 源码程序:五子棋】 在Android平台上开发一款五子棋游戏,涉及到的知识点涵盖了Android应用开发的基础到高级技术。...这不仅有助于提升个人的Android开发技能,也是理解移动应用开发过程的好实例。

    Android实例-Delphi开发蓝牙官方实例解析(XE10+小米2+小米5)

    本文将基于Delphi XE10,结合小米2和小米5设备,深入探讨如何利用Delphi进行Android蓝牙功能的开发,提供一个实用的实例解析。 首先,我们要明确的是,蓝牙技术在移动设备间的数据传输中扮演着重要角色,尤其在...

    Android开发实例大全.pdf

    5. **文件搜索程序**:如何在应用内实现文件搜索功能。 6. **动态菜单列表、加载手机磁盘文件**:实现具有动态功能的菜单及文件操作。 7. **抽屉样式效果**:模拟实现类似Google Play商店的抽屉式菜单。 8. **多种...

    android 手机之间通过蓝牙传输文件,可以传APK

    在Android平台上,蓝牙技术是一种广泛使用的无线通信方式,允许设备之间进行近距离的数据交换。通过蓝牙,用户可以在不同的Android设备间方便地传输各种类型的数据,包括应用程序(APK)文件。以下将详细介绍如何...

    Android实例之LocationSensor位置传感器

    本实例——"Android实例之LocationSensor位置传感器",提供了一个简单、实用的教程,帮助开发者理解和应用Android的位置服务。以下将详细介绍相关知识点: 首先,LocationSensor是Android系统中的一部分,它通过GPS...

    基于android系统的文件浏览器

    本项目就是一个专注于在Android平台上实现这一功能的应用实例。 一、Android文件系统 Android系统采用Linux内核,因此其文件系统与传统的Linux文件系统类似,主要由以下几个部分组成: 1. /system:包含系统核心...

    Android-FilePicker一个Android文件选择器

    Android-FilePicker正是这样一个专为Android平台设计的开源文件选择器库,它使得开发者能够方便地集成文件选择功能,同时提供了丰富的自定义选项,以适应各种应用场景。 **1. 文件选择器的核心功能** Android-...

    ArcGIS for android实例

    **ArcGIS for Android 实例详解** ArcGIS for Android 是Esri公司开发的一款强大的地理信息系统(GIS)开发框架,专门用于构建Android平台上的地图应用。它提供了丰富的地图展示、地理数据分析和空间服务集成等功能...

    Android 文件选择器(支持选择u盘).zip

    6. **用户界面**:一个良好的文件选择器应该有直观且易于操作的界面。此项目很可能提供了清晰的文件层级视图,以及便捷的导航和搜索功能,以便用户轻松找到目标文件。 为了实现这些功能,开发者可能使用了以下技术...

    android 实例开发1

    "Android实例开发1"这个项目很可能是为了演示或教学目的,旨在提供一个可运行并已通过全面测试的Android应用程序示例。下面,我们将深入探讨这个实例中可能涉及的Android开发核心知识点。 首先,从文件名...

    Android实例之OrientationSensor方向传感器

    本实例,"Android实例之OrientationSensor方向传感器",将深入讲解如何在Delphi环境下利用Android的传感器API来实现这一功能。朱建强作为作者,他的作品通常以实用性和易用性为特点,你可以放心下载并根据自己的需求...

Global site tag (gtag.js) - Google Analytics