`

【android开发】android文件搜索

阅读更多

目的:输入关键字KEY,sd卡中文件名包含KEY的文件路径显示在屏幕下方,如果没有,则toast提示,整个实现过程还是比较简单的。

思路: EditText -- > button(onClick) --> getText -->ListFiles   indexof -- > show

main.xml

 

<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:id="@+id/widget0"
    >
    
<Button
	android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/button_search"
    android:layout_x="253px"
    android:layout_y="5px"
    android:text="@string/toSearch"
/>
<EditText
	android:layout_width="112px"
    android:layout_height="52px"
    android:id="@+id/key"
    android:textSize="18sp"
    android:layout_x="119px"
    android:layout_y="4px"
/>
<TextView
	android:layout_width="103px"
    android:layout_height="29px"
    android:id="@+id/TextView_showIn"
    android:layout_x="5px"
    android:layout_y="16px"
    android:textSize="20sp"
    android:text="@string/showInput"
/>
<TextView
	android:layout_width="fill_parent"
    android:layout_height="370px"
    android:id="@+id/TextView_Result"
    android:layout_x="0px"
    android:layout_y="60px"
/>
</AbsoluteLayout>

  Activity类内容

 

package com.android;

import java.io.File;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
// extends Activtiy 
//implements OnClickListener 实现click方法
public class Activity07 extends Activity implements OnClickListener {
    /** Called when the activity is first created. */
	
	private File file;
	private String path;
	private String info;
	private String key; //关键字
	private TextView result; // 显示结果
	private EditText et; // 编辑view
	private Button search_btn; // button view
	
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        result = (TextView)findViewById(R.id.TextView_Result);
        et = (EditText)findViewById(R.id.key);
        search_btn = (Button)findViewById(R.id.button_search);
       // file = new File(Environment.getExternalStorageDirectory().getPath());
        file = new File("/sdcard/mp3");
        info = getString(R.string.info);
        
        search_btn.setOnClickListener(this);
    }

	/* (non-Javadoc)
	 * @see android.view.View.OnClickListener#onClick(android.view.View)
	 */
	@Override
	public void onClick(View v) {
		// TODO Auto-generated method stub
		path = "";
		result.setText("");
		key = et.getText().toString();
		BrowserFile(file);
	}
	/**
	 * 校验 		toast提示
	 * @param file
	 */
	public void BrowserFile(File file) {
		if (key.equals("")) {
			Toast.makeText(this, getString(R.string.pleaseInput), Toast.LENGTH_LONG).show();
		} else {
			toSearchFiles(file);
			if (result.getText().equals("")) {
				Toast.makeText(this, getString(R.string.notFound), Toast.LENGTH_SHORT).show();
			}
		}
	}
    /**
     * 遍历 Files
     * @param file
     */
	public void toSearchFiles(File file) {
		File[] files = file.listFiles();
		for (File tf : files) {
			if (tf.isDirectory()) {
				toSearchFiles(tf);
			} else {
				try {
					if (tf.getName().indexOf(key) > -1) {
						path += "\n" + tf.getPath();
						result.setText(info+path);
					}
				} catch(Exception e) {
					Toast.makeText(this, getString(R.string.pathError), Toast.LENGTH_SHORT).show();
				}
			}
		}
	}
}

  String.xml

 

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="hello">Hello World, Activity07!</string>
    <string name="app_name">文件搜索</string>
    <string name="showInput">输入关键字</string>
    <string name="toSearch">搜索</string>
    <string name="info">系统SDCard目录文件路径:\n</string>
    <string name="pleaseInput">请输入关键字!</string>
    <string name="notFound">SD卡中没有相关文件!!</string>
    <string name="pathError">读取路径出错!!</string>
</resources>

查看SD卡MP3下的文件列表

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

效果

 

 

 

分享到:
评论

相关推荐

    Android开发之简单文件管理器实现方法

    本文实例讲述了Android开发之简单文件管理器实现方法。分享给大家供大家参考,具体如下: 这里运用Java I/O、ListActivity、Dialog、Bitmap等实现简单文件管理器,可以查看目录文件,修改文件名,删除文件,打开文件...

    Android文件管理器源码

    Android文件管理器(增加了文件夹复制移动,下载资源暂停删除等,以及复制过程中的可视化进程)是一个基于Android开发的应用,包含常用文件操作以及文件下载功能,文件操作包括打开文件夹和打开各类的文件(apk、avi...

    Android开发文件管理器

    Android开发文件管理器,简单易懂,适合新手开发

    android开发揭秘PDF

    第1章 Android开发简介 1.1 Android基本概念 1.1.1 Android简介 1.1.2 Android的系统构架 1.1.3 Android应用程序框架 1.2 OMS介绍 1.2.1 OPhone介绍 1.2.2 Widget介绍 1.3 小结 第2章 Android开发环境搭建 2.1 ...

    Android开发教程(完整版)

    新版Android开发教程&笔记--基础入门一.pdf 新版Android开发教程&笔记--基础入门二.pdf 新版Android开发教程&笔记三--环境搭建与解析.pdf ...新版Android开发教程+笔记十二--文件存取、数据库编程.pdf

    大话企业级Android开发

    看惯了那些基础,想成为高手么? 爱下不下......... 01大话企业级Android开发第一篇 02大话企业级Android开发 03大话企业级Android开发开发流程及项目...12大话企业级Android开发_文件 13大话企业级Android开发_数据库

    Android开发文件,android代码,android开发demo,android开发项目

    Android开发文件,android代码,android开发demo,android开发项目

    android开发R文件无法生成

    android开发中R文件无法生成的原因总结

    android开发入门教程

    第2章 工欲善其事 必先利其器——搭建Android开发环境 2.1 开发Android应用前的准备 2.1.1 Android开发系统要求 2.1.2 Android软件开发包 2.1.3 其他注意事项 2.2 Windows开发环境搭建 2.2.1 JDK、Eclipse、Android...

    Android文件上传,文件选择器,多选

    Android文件选择器,可以实现多选,单选文件。

    Android 开发中串口文件

    Android开发中与串口链接所需的文件,自行创建目录libs/armeabi,把改文件考入到该目录下

    Android.bp文件说明.pdf

    为了兼容老的 mk 配置文件,Android 当初也开发了 Kati 工具来转换 mk 文件生成 ninja,目前 Android Q 里边,还是支持 Android.mk 方式的。相信在将来的版本中,会彻 底让 mk 文件废弃,同时 Kati 也就淘汰了,只...

    android开发上传文件

    本代码主要用于,安卓端代码上传至服务器,可用于图片,文件,代码,批量传送

    Android 查看本地文件

    今天遇到一个问题就是打开文件的时候,我的手机能打开wps查看文件,但是客户的手机不行,然后查找了一下资料原来少加了一个权限,记录一下

    老罗android开发视频教程全集百度网盘下载

    【第一版第九章】老罗Android开发视频--存储数据和文件(7集) 【第一版第十章】老罗Android开发视频--对话框介绍(4集) 【第一版第十一章】老罗Android开发视频--通知的使用(2集) 【第一版第十二章】老罗...

    Android手机开发的pdf文件

    几个简单的pdf文件 可以帮助读者快速学习和掌握Android手机开发

    企业级安卓开发_入门+进阶 大话企业级Android开发

    企业级安卓开发_入门+进阶 分章节 从入门到进阶 有实例 有源代码 01大话企业级Android开发第一...12大话企业级Android开发_文件 13大话企业级Android开发_数据库 14大话企业级Android开发_事务 如何成为Android高手

    Android开发进阶:如何读写Android文件.pdf

    Android开发进阶:如何读写Android文件.pdf

    Android7.0 Intent打开文件管理器 获取文件真实路径

    Android7.0 Intent打开文件管理器 获取文件真实路径。虽然网上很多demo,但是没有一个能够兼容所有Android机的,去网上学习了然后自己亲测过手机分别有Android7.0/6.0/4.3个版本。

    蓝牙通信 Android开发实现手机间通过蓝牙传输文件

    通过Android开发实现手机间通过蓝牙传输文件 实验小作业,详细分析 安卓平台提供对蓝牙的通讯栈的支持,允许设备和其他的设备进行无线传输数据。应用程序层通过安卓API来调用蓝牙的相关功能,这些API使程序无线连接...

Global site tag (gtag.js) - Google Analytics