編輯:關於Android編程
本文實例為大家分享了android遍歷所有文件夾和子目錄來搜索文件,供大家參考,具體內容如下
java代碼:
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; public class ShuosouwenjianActivity extends Activity implements OnClickListener { private File file; private String path; private String info; private String key; //關鍵字 private TextView result; // 顯示結果 private EditText et; // 編輯view private 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/"); info = getString(R.string.info); search_btn.setOnClickListener(this); } @Override public void onClick(View v) { // TODO Auto-generated method stub path = ""; result.setText(""); key = et.getText().toString(); BrowserFile(file); } public void BrowserFile(File fileold) { if (key.equals("")) { Toast.makeText(this, getString(R.string.pleaseInput), Toast.LENGTH_LONG).show(); } else { search(fileold); if (result.getText().equals("")) { Toast.makeText(this, getString(R.string.notFound), Toast.LENGTH_SHORT).show(); } } } private void search(File fileold) { try{ File[] files=fileold.listFiles(); if(files.length>0) { for(int j=0;j<files.length;j++) { if(!files[j].isDirectory()) { if(files[j].getName().indexOf(key)> -1) { path += "\n" + files[j].getPath(); result.setText(info+path); //shuju.putString(files[j].getName().toString(),files[j].getPath().toString()); } } else{ this.search(files[j]); } } } } catch(Exception e) { } } }
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" > <Button android: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" /> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/key" android:text="821077962.db" /> <TextView android:layout_width="fill_parent" android:layout_height="370px" android:id="@+id/TextView_Result" android:layout_x="0px" android:layout_y="60px" /> </AbsoluteLayout>
strings.xml代碼:
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">Hello World, Activity07!</string> <string name="app_name">文件搜索</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>
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持本站。
前段時間公司一些同事在討論單例模式(我是最渣的一個,都插不上嘴 T__T ),這個模式使用的頻率很高,也可能是很多人最熟悉的設計模式,當然單例模式也算是最簡單的設計模式之
Android DragVideo實現播放視頻時任意拖拽DragVideoA Method to Drag the Video When Playing Video一種在
文件上傳可能是一個比較耗時的操作,如果為上傳操作帶上進度提示則可以更好的提高用戶體驗,最後效果如下圖: &nbs
最近看了幾款APP的加載進度都是這種風格,感覺還不錯,在網上找了一些資料,自己小練兵了一把:主要運用的開源框架:/ViewPagerIndicator_library&n