读书人

【android开发】android资料搜索

发布时间: 2012-09-29 10:30:01 作者: rapoo

【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"    >    <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下的文件列表

【android开发】android资料搜索

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

效果

【android开发】android资料搜索

?

?

【android开发】android资料搜索

?

【android开发】android资料搜索

读书人网 >Android

热点推荐