`

【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手机开发的pdf文件

    这份名为"Android手机开发的pdf文件"的资料集合提供了一些基本的学习资源,旨在帮助初学者快速入门并掌握Android开发的核心概念。 首先,Android开发的基础部分包括对Java或Kotlin编程语言的理解。Java是Android...

    Android NDK开发指南-android.mk文件

    "Android NDK开发指南-android.mk文件" Android NDK 是 Android 操作系统中的一种开发工具,用于使用 C/C++ 语言编写 Android 应用程序。Android.mk 文件是 NDK 中的一个重要组件,用于描述编译系统的配置,使得...

    Android文件管理器源码

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

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

    在Android应用开发中,文件上传和文件选择器是常见的功能需求。用户可能需要从设备存储中选择一个或多个文件,例如图片、文档或音频文件,然后上传到服务器或进行其他操作。本文将深入探讨如何在Android平台上实现...

    Android开发入门60个小案例+源代码

    在Android开发领域,初学者经常会面临许多挑战,如理解Android应用程序的基本架构、学习XML布局、掌握Java或Kotlin编程语言,以及如何与设备硬件交互等。"Android开发入门60个小案例+源代码"这个资源提供了丰富的...

    两个文件android.iml文件 和android.ipr文件

    在Android开发过程中,有时我们需要导入现有的项目到Android Studio。在这个情境中,提到的"两个文件:android.iml文件和android.ipr文件"是...理解这些文件的作用和功能,有助于提升你在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应用通过集成蓝牙通信功能,实现了手机间的文件无线传输,展示了如何利用Android API与蓝牙设备交互。同时,也涵盖了权限请求、设备搜索、连接管理和数据通信等关键知识点。这样的应用在日常...

    Android开发教程(完整版)

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

    大话企业级Android开发

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

    AndroidAPP开发入门教程.pdf

    Android APP 开发入门教程 Android APP 开发入门教程主要介绍了 Android APP 的开发流程,从 SDK 下载、开发环境搭建、代码编写、APP 打包等步骤一一讲解。本教程通过实践操作,带领读者一步步完成 Android APP 的...

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

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

    Android移动应用开发习题答案.pdf

    Android 移动应用开发习题答案 Android 移动应用开发是指使用 Android 操作系统开发移动应用程序的过程。 Android 作为最流行的移动操作系统之一,拥有庞大的用户群体和丰富的第三方应用程序生态系统。为了帮助...

    android 文件搜索器

    通过分析和学习这个开源项目,开发者不仅可以提升Android开发技能,还能了解到如何构建高效、用户友好的文件搜索功能,这对于开发个人应用或企业级项目都有很大的价值。同时,这个工具也可以作为教学材料,帮助初学...

    Android 实现读写U盘文件

    在Android平台上,与U盘进行文件的读写操作并不像在桌面系统中那样直接,因为Android设备通常不直接支持USB主机模式(Host Mode)。然而,借助第三方库如libaums,我们可以实现这一功能。libaums是Android上一个用于...

    安卓Android开发电子书大全 2018 (1/4)

    Android嵌入式智能操作系统是基于Linux内核和驱动的,对于HTC、华为等公司开发Android操作系统时,需要专门将Android移植到 特定硬件平台下,同时将必要的驱动进行编写及开发。 文件目录: 10个常见的_Android_新手...

    android framework 开发揭秘

    《Android Framework 开发揭秘》这本书深入剖析了Android系统的内部运作机制,是Android开发者提升技术深度...通过学习本书,读者将能够更深入地掌握Android开发,从而在Android平台上创造出更高效、更稳定的应用程序。

    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...

Global site tag (gtag.js) - Google Analytics