您的位置:首页 > 移动开发 > Android开发

Android中搜索SD卡文件的开发实例

2012-06-29 22:17 393 查看
我们在进行EditText中设置搜索的目录,默认为根目录"/"。

第二个EditText为所要搜索的关键字。

Layout布局

下面贴出layout中的布局文件内容,应该说也是比较简单的,难度不大。

File[] files = new File(file.getPath()).listFiles();   
               
            for (File f : files)   
            {   
                if (f.getName().indexOf(keyword) >= 0)   
                {   
                    res += f.getPath() + "\n";   
                }   
            }
其中,File[] files = new File(file.getPath()).listFiles(); 是用来得到所要求目录下的所有文件,再通过 for (File f : files) 历遍所有文件。

完整的Main.java 代码为:

package net.javablog.mobile;   
      
    import android.app.Activity;   
    import android.os.Bundle;   
    import android.widget.Button;   
    import android.widget.TextView;   
    import android.widget.EditText;   
    import android.view.View;   
    import java.io.File;   
      
    public class Main extends Activity {   
           
        private TextView textView1;   
        private EditText editText1;   
        private EditText editText2;   
        private Button button1;   
           
        /** Called when the activity is first created. */  
        @Override  
        public void onCreate(Bundle savedInstanceState) {   
            super.onCreate(savedInstanceState);   
            setContentView(R.layout.main);   
           
            textView1 = (TextView) findViewById (R.id.textView1);   
            editText1 = (EditText) findViewById (R.id.editText1);   
            editText2 = (EditText) findViewById (R.id.editText2);   
            button1 = (Button) findViewById (R.id.button1);   
               
            button1.setOnClickListener(new Button.OnClickListener()   
            {   
                @Override  
                public void onClick (View view)   
                {   
                    String keyword = editText1.getText().toString();   
                    File root = new File(editText2.getText().toString());   
                       
                    if (keyword.equals(""))   
                    {   
                        String res = "";   
                        File[] files = root.listFiles();   
                        for(File f : files)   
                        {   
                            res += f.getPath() + "\n";   
                        }   
                        textView1.setText(res);   
                        return;   
                    }   
                    else  
                    {   
                        textView1.setText(findFile(root, keyword));   
                    }   
                       
                    return;   
                }   
            });   
        }   
           
        private String findFile (File file, String keyword)   
        {   
            String res = "";   
            if (!file.isDirectory())   
            {   
                res = "不是目录";   
                return res;    
            }   
            File[] files = new File(file.getPath()).listFiles();   
               
            for (File f : files)   
            {   
                if (f.getName().indexOf(keyword) >= 0)   
                {   
                    res += f.getPath() + "\n";   
                }   
            }       
      
              if (res.equals(""))   
            {   
                res = "没有找到相关文件";   
            }   
                 
            return res;   
                   
        }   
    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐