【android开发】android文件搜索
16lz
2021-01-25
目的:输入关键字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下的文件列表
效果
更多相关文章
- 一款常用的 Squid 日志分析工具
- GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
- RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
- Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
- Android(安卓)-- 自定义标题栏,背景颜色填充满
- UC
- Android打包jar的两种方法
- android apk反编译和odex转dex
- Android开发环境搭建(WINDOWS VERSION)