Android 검색 SD 카드 파일 개발 예시
인 스 턴 스 인터페이스
우선 프로그램 이 실 행 된 후의 화면 이 어떤 지 보 여 드 리 겠 습 니 다.
첫 번 째 EditText 에 검색 할 디 렉 터 리 를 설정 합 니 다.기본 값 은 루트 디 렉 터 리'/'입 니 다.
두 번 째 EditText 는 검색 할 키 입 니 다.
레이아웃 레이아웃
다음은 layot 의 레이아웃 파일 내용 을 붙 여 줍 니 다.간단 하고 어렵 지 않 습 니 다.
XML/HTML
<?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" >
<EditText
android:id="@+id/editText2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="/"
/>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:orientation="horizontal" >
<TextView
android:text=" :"
android:textSize="20dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<EditText
android:id="@+id/editText1"
android:textSize="20dp"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
<Button
android:id="@+id/button1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text=" "
/>
<TextView
android:id="@+id/textView1"
android:layout_marginTop="20dp"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
</LinearLayout>
검색 기능 의 코드 구현마지막 으로 검색 을 어떻게 하 느 냐 가 문제 다.
자바.io.File 에서 정의 한 File.getName().index Of(keyword)>=0 을 통 해 파일 이 검색 요구 에 부합 되 는 지 판단 합 니 다.
구체 적 인 실현 은 다음 코드 를 통 해 이 루어 집 니 다.
File[] files = new File(file.getPath()).listFiles();
for (File f : files)
{
if (f.getName().indexOf(keyword) >= 0)
{
res += f.getPath() + "
";
}
}
그 중에서 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() + "
";
}
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() + "
";
}
}
if (res.equals(""))
{
res = " ";
}
return res;
}
}
이상 은 안 드 로 이 드 검색 을 실현 하 는 것 입 니 다. SD 카드 파일 의 실현 은 필요 한 친구 가 볼 수 있 으 니 해당 기능 을 개발 하 는 데 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Bitrise에서 배포 어플리케이션 설정 테스트하기이 글은 Bitrise 광고 달력의 23일째 글입니다. 자체 또는 당사 등에서 Bitrise 구축 서비스를 사용합니다. 그나저나 며칠 전 Bitrise User Group Meetup #3에서 아래 슬라이드를 발표했...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.