目的:输入关键字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"    >    <Buttonandroid: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"/><EditTextandroid:layout_width="112px"    android:layout_height="52px"    android:id="@+id/key"    android:textSize="18sp"    android:layout_x="119px"    android:layout_y="4px"/><TextViewandroid: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"/><TextViewandroid: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; // 编辑viewprivate 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) */@Overridepublic void onClick(View v) {// TODO Auto-generated method stubpath = "";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下的文件列表

效果

更多相关文章

  1. 一款常用的 Squid 日志分析工具
  2. GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
  3. RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
  4. Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
  5. Android(安卓)-- 自定义标题栏,背景颜色填充满
  6. UC
  7. Android打包jar的两种方法
  8. android apk反编译和odex转dex
  9. Android开发环境搭建(WINDOWS VERSION)

随机推荐

  1. ndroid:paddingLeft与android:layout_mar
  2. Android -- Looper.prepare()和Looper.lo
  3. Android 内核相关内容总结
  4. 安卓namespace隔离机制
  5. Android学习——MediaScanner源码分析
  6. Android之Intent传递数据的方式
  7. android中的进程与线程的理解
  8. Android中AlertDialog的使用小结
  9. Android 联网取数据
  10. Android学习三UI之Layout