`

【Android每日一讲】2012.11.28 快速地搜索手机文件引擎 - Java IO的应用

阅读更多
1. 范例说明
大家都应该用过操作系统的文件搜索功能吧!它可以快速协助我们找到想要的文件。如果要在手机制作一个文件搜索功能,又该如何实现呢?其实这个功能并不难,Java I/O的API中提供了Java.io.File对象,只要利用File对象的方法,再搭配Android的EditText、TextView等对象,就可以轻松做出一个简单的手机文件搜索引擎。
该范例中使用EditText、Button和TextView3种对象来实现此功能,用户将要搜索的文件名字或关键字输入到EditText中,单击Button后,程序会在根目录中寻找符合的文件,并将搜索结果显示于TextView中,如果找不到符合的文件,则显示“找不到文件”。
2. 运行结果



3. 编写代码
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); /* 载入main.xml Layout */
setContentView(R.layout.main); /* 初始化对象 */
mKeyword = (EditText) findViewById(R.id.mKeyword);
mButton = (Button) findViewById(R.id.mButton);
mResult = (TextView) findViewById(R.id.mResult); /* 将mButton加入onClickListener */
mButton.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) { /* 取得输入的关键词 */
String keyword = mKeyword.getText().toString();
if (keyword.equals("")) {
mResult.setText("请勿输入空白的关键词!!");
} else {
mResult.setText(searchFile(keyword));
}
}
});
} /* 搜索文件的method */

private String searchFile(String keyword) {
String result = "";
File[] files = new File("/").listFiles();
for (File f : files) {
if (f.getName().indexOf(keyword) >= 0) {
result += f.getPath() + "\n";
}
}
if (result.equals(""))
result = "找不到文件!!";
return result;
}


4. 扩展学习与作业
该范例只是搜索的根目录下的文件或文件夹,如果要搜索所有的文件,则需要使用File.isDirectory()一层一层搜索下去。
Android 文件操作大全
http://www.eyeandroid.com/thread-10157-1-1.html

5.视频讲解
http://www.eyeandroid.com/thread-10761-1-1.html
  • 大小: 35.8 KB
0
1
分享到:
评论

相关推荐

    mysql-connector-java-5.1.40.tar.gz

    MySQL Connector/J是MySQL数据库与Java应用程序之间的桥梁,它是一个实现了JDBC(Java Database Connectivity)标准的MySQL驱动程序。"mysql-connector-java-5.1.40.tar.gz" 是这个驱动程序的一个特定版本,版本号为...

    Android代码-rx-java-extensions

    This library allow simple implementation for some tasks in android Usage Add library to project dependencies. repositories { maven { url "https://jitpack.io" } } dependencies { // snapshot ...

    Java IO commons-io-2.5.jar

    `commons-io-2.5.jar` 是Apache Commons项目的一部分,它提供了一系列增强和扩展了Java标准IO库的类和方法。这个库为开发者提供了更高效、更便捷的方式来执行常见的文件、目录和流操作。 一、Java IO 基础 Java IO ...

    java-IO流 commons-io-2.11.0.jar

    java-IO流 commons-io-2.11.0.jar

    android-studio-2021.3.1.17-windows.exe

    它提供了全面的代码编辑、调试、构建、性能优化等功能,支持各种Android平台和设备,帮助开发者高效地创建高质量的应用程序。 二、版本信息 “android-studio-2021.3.1.17-windows.exe”是Android Studio的Dolphin...

    commons-fileupload-1.3.3.jar和commons-io-2.6.jar

    在Java开发中,上传文件是一项常见的任务,而`commons-fileupload-1.3.3.jar`和`commons-io-2.6.jar`是Apache Commons项目中的两个重要库,专门用于处理HTTP请求中的文件上传功能。这两个库为开发者提供了便捷、高效...

    mysql-connector-java-8.0.21.zip

    MySQL是世界上最受欢迎的开源数据库系统之一,而MySQL Connector/J则是MySQL官方提供的用于Java应用程序的JDBC(Java Database Connectivity)驱动程序。"mysql-connector-java-8.0.21.zip"是一个包含MySQL ...

    mysql-connector-java-5.1.38.jar

    MySQL Connector/J是MySQL数据库系统与Java应用程序之间的桥梁,它是一个实现了Java Database Connectivity (JDBC) API的驱动程序,使得Java开发者能够轻松地在Java应用程序中连接并操作MySQL数据库。"mysql-...

    commons-io-2.11.0-API文档-中文版.zip

    赠送jar包:commons-io-2.11.0.jar; 赠送原API文档:commons-io-2.11.0-javadoc.jar; 赠送源代码:commons-io-2.11.0-sources.jar; 赠送Maven依赖信息文件:commons-io-2.11.0.pom; 包含翻译后的API文档:...

    android io.socket.client.zip

    在Android开发中,即时通讯(IM)功能是一个重要的组成部分,为用户提供实时的数据交换能力。`socket.io` 是一个流行的跨平台IM解决方案,它基于WebSockets协议,提供了一种简单而强大的API来处理实时通信。在...

    mysql-connector-java-8.0.29.jar

    MySQL Connector/J 8.0.29 是MySQL数据库与Java应用程序之间通信的重要桥梁,它是一个实现了Java Database Connectivity (JDBC) API的驱动程序,使得Java开发者能够方便地在Java应用中连接并操作MySQL数据库。...

    draw.io-21.6.8-windows-installer.exe

    draw.io-21.6.8-windows-installer.exe

    draw.io-22.0.2-windows-installer.exe

    draw.io-22.0.2-windows-installer.exe

    android.ipr和android.iml

    IntelliJ IDEA是一款流行的Java IDE,特别适合Android应用开发。以下是这两个文件的具体含义和相关知识点: 1. android.ipr:这是一个IntelliJ IDEA项目的主配置文件,它包含了关于项目的基本信息,如项目名称、...

    mysql-connector-java-commercial-5.1.30-bin.jar

    mysql 的 java 连接库 解压缩mysql-connector-java-5.1.30.zip 将要使用的是mysql-connector-java-5.1.30-bin-g.jar和mysql-connector-java-5.1.30-bin.jar 配置 在C:\Program Files\Java目录下建立mysqlforjdbc...

    mysql-connector-java-8.0.18.jar

    这是MySQL最新的jar,mysql-connector-java-8.0.18.jar

    Android Studio 2020.3.1.24.zip

    Android Studio 是谷歌推出的一个Android集成开发工具,基于IntelliJ IDEA,提供了集成的 Android 开发工具用于开发和调试,该压缩文件包含了android-studio-2020.3.1.24-windows.exe和下载.txt,欢迎下载。

    gnu.io.SerialPort( rxtx-2.1.7.jar)串口通讯

    串口通讯需要的jar包,gnu.io.SerialPort; gnu.io.CommPortIdentifier; gnu.io.SerialPort; gnu.io.SerialPortEvent; gnu.io.SerialPortEventListener; gnu.io.UnsupportedCommOperationException; Copy RXTXcomm...

    commons-io-2.4.jar

    Commons IO是Apache软件基金会开发的一个Java库,主要目的是提供对输入/输出操作的增强功能,以弥补Java标准库中的一些不足。"commons-io-2.4.jar"是这个库的一个版本,包含了各种实用的工具类,方便开发者处理文件...

    MySQL官方提供的驱动包 mysql-connector-java-5.1.30.zip (亲测可用)

    MySQL是世界上最受欢迎的关系型数据库管理系统之一,而MySQL官方提供的驱动包`mysql-connector-java-5.1.30.zip`则是Java开发者与MySQL数据库进行交互的重要桥梁。这个驱动包允许Java应用程序通过JDBC(Java ...

Global site tag (gtag.js) - Google Analytics