关闭

Android简易实战教程--第三十九话《简单的模糊查询》

标签: 手机android studioandroid模糊查询
775人阅读 评论(0) 收藏 举报
分类:

今天这一篇小案例模拟模糊查询,即输入一个字符,显示手机对应的所有存在该字符的路径。

布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TableLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

        <TableRow>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="请输入要搜索的关键字:" />

            <EditText
                android:id="@+id/edit"
                android:layout_width="120px"
                android:layout_height="wrap_content" />
        </TableRow>
    </TableLayout>

    <Button
        android:id="@+id/btn_search"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="搜索" />

    <TextView
        android:id="@+id/result"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />

</LinearLayout>

活动中的代码:

package com.example.csdn1;

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;

public class MainActivity extends Activity {  
    private Button search = null;  
    private TextView info = null;  
    private EditText edit = null;  
  
    public void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState); // 生命周期方法  
        super.setContentView(R.layout.activity_main); // 设置要使用的布局管理器  
        edit = (EditText) super.findViewById(R.id.edit);  
        info = (TextView) super.findViewById(R.id.result);  
        search = (Button) super.findViewById(R.id.btn_search);  
        search.setOnClickListener(new OnClick());  
  
    }  
  
    private class OnClick implements OnClickListener {  
  
        public void onClick(View arg0) {  
            String keyWords = edit.getText().toString();  
            if (keyWords.equals("")) {  
                info.setText("请输入关键字!");  
            } else {  
                info.setText(searchFile(keyWords));  
            }  
  
        }  
  
        /**搜索手机内文件,并返回匹配的文件*/
        private CharSequence searchFile(String keyWords) {
        	String result = "";
        	File[] listFiles = new File("/").listFiles();//获取所有文件路径
        	for (File file : listFiles) {
        		//判断file名称是否包含输入的关键字
        		if(file.toString().indexOf(keyWords)>=0){
        			//说明,路径中包含关键字
        			result += file.toString()+"\n";
        		}
			}
        	if(result.equals("")){
        		result = "未找到到任何匹配的文件";
        	}
        	return result;
        }  
  
    }  
}  

运行结果如下:

欢迎关注本博客,不定期更新简单有趣的Android小案例哦

1
0
查看评论

Android 搜索框的实时查询/模糊查询

在搜索框的检索中我们经常会遇到“精确检索”、“模糊检索”,精确检索我就不多加解释了,我们看下模糊检索: 参考: http://blog.csdn.net/jdsjlzx/article/details/46514761 http://www.cnblogs.com/jeffen/p/69582...
  • lijinweii
  • lijinweii
  • 2017-10-08 15:13
  • 1251

Android简易实战教程--第三十九话《Chronometer实现倒计时》

Android提供了实现按照秒计时的API,今天就是用这个API实现简单的倒计时。 来个布局: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:l...
  • qq_32059827
  • qq_32059827
  • 2016-11-07 23:21
  • 1071

Android实战简易教程-第二十三枪(基于Baas的用户注册和登录模块实现!)

接着上两篇文章,我们基于Bmob提供的API实现用户登录功能,整体看一下代码。1.注册页面xml:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:too...
  • yayun0516
  • yayun0516
  • 2015-07-23 07:47
  • 1844

Android简易实战教程--第三十六话《电话录音》

今天完成一个简单的电话录音功能,即接通电话后,立即录下自己打电话的声音。实现起来比较简单:一个服务,一个TelephonyManager、一个MediaRecorder就够了。 1、布局提供一个开启录音服务的按钮。 2、服务里面代码如下:(代码详细解释都在里面了) package com.itydl...
  • qq_32059827
  • qq_32059827
  • 2016-10-26 08:27
  • 484

Android简易实战教程--第三十五话《音乐播放》

已经好几天不更新博客了,今天就轻松一点模拟个简单的“音乐播放器”。
  • qq_32059827
  • qq_32059827
  • 2016-10-24 23:02
  • 825

Android简易实战教程--第三十七话《NotifiCation》

通知的使用,无疑是Android系统的亮点之一;就连IOS在5.0开始也引入了类似通知的技巧。可见它的实用性。 今天这个小案例,就学习一下通知的基本使用,API是使用最新的API,4.3以前创建通知的API已经过时。 首先定义个布局: <LinearLayout xmlns:androi...
  • qq_32059827
  • qq_32059827
  • 2016-10-28 19:45
  • 633

Android简易实战教程--第四十话《Spinner》

对于Spinner控件的介绍和使用方法,可以先看之前写过的一篇博客:Spinner控件详解 本篇就基于这个知识点完成一个简单的小案例: 根据介绍,先写一个布局: <LinearLayout xmlns:android="http://schemas.android.com...
  • qq_32059827
  • qq_32059827
  • 2016-11-09 22:31
  • 675

Android简易实战教程--第一话《最简单的计算器》

转载请注明出处: 从今天开始,本专栏持续更新Android简易实战类博客文章。和以往专栏不同,此专栏只有实例。每个实例尽量按照知识点对应相应一章节的内容去写,循序渐进。有些实例可能会与另一个专栏有重复的文章。 开始本专栏的第一个简易案例: 首先设置两个布局文件,一个布局文件进行输入数据,获取加法...
  • qq_32059827
  • qq_32059827
  • 2016-06-19 00:09
  • 5596

Android之音乐播放器——简单版

当我的Android模拟器响起Robert Miles Children的歌曲时,我直接趴下去睡着了。虽然实现播放,但是醒来时发现还是一堆bug,噼里啪啦,搞定初步。        有老师开了两天的android课,当实习,多奇葩,看到...
  • iaiti
  • iaiti
  • 2013-10-23 01:16
  • 7937

Android实战简易教程<十六>(LineChart实现数据趋势展示)

aChartEngine中的line Chart是线图,是数据显示的一种。首先我们要下载aChartEngine的jar包,然后导入到工程中。 直接看一下代码(部分注释): [java] view plaincopy pa...
  • scholar_man
  • scholar_man
  • 2015-09-25 11:07
  • 1164
    个人资料
    • 访问:479063次
    • 积分:9143
    • 等级:
    • 排名:第2427名
    • 原创:401篇
    • 转载:39篇
    • 译文:11篇
    • 评论:113条
    博客专栏