查詢的情況分為兩種:關鍵字、檔案型別。
按關鍵字查詢:
private list
searchkeyword(context context, string keyword) ,
mediastore.files.filecolumns.title + " like '%" + keyword + "%'",
null, null);
if (cursor != null)
}cursor.close();
return filelist;
}
**主要通過 contentresolver 對系統資料庫進行查詢。
/**
* query the given uri, returning a over the result set.
* * for best performance, the caller should follow these guidelines:
* *
** @param uri the uri, using the content:// scheme, for the content to
* retrieve.
* @param projection a list of which columns to return. passing null will
* return all columns, which is inefficient.
* @param selection a filter declaring which rows to return, formatted as an
* sql where clause (excluding the where itself). passing null will
* return all rows for the given uri.
* @param selectionargs you may include ?s in selection, which will be
* replaced by the values from selectionargs, in the order that they
* @param sortorder how to order the rows, formatted as an sql order by
* clause (excluding the order by itself). passing null will use the
* default sort order, which may be unordered.
* @return a cursor object, which is positioned before the first entry, or null
* @see cursor
*/public final @nullable cursor query(@requirespermission.read @nonnull uri uri,
@nullable string projection, @nullable string selection,
@nullable string selectionargs, @nullable string sortorder)
projection:你希望查詢到的內容。
selection:查詢條件。
selectionargs:查詢條件裡面如果有?,就把?的值放進這個陣列裡面。
sortorder:排序。
獲取檔名這裡並沒有直接使用 mediastore.files.filecolumns.title,而是使用 mediastore.files.filecolumns.data 獲取到檔案路徑再獲取到檔名。
因為使用 mediastore.files.filecolumns.title 獲取的到檔名沒有檔案格式。
按檔案型別查詢:
private list
searchtype(context context, string type)
}cursor cursor = resolver.query(uri,
new string,
mediastore.files.filecolumns.mime_type + " = '" + t + "'",
null, null);
if (cursor != null)
}cursor.close();
return filelist;
}
通過檔案的字尾獲取mime,然後到資料庫查詢。
mime列表:
/**
* -- mime 列表 --
*/private static final string mimetable =--,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,,
};
有乙個小的瑕疵,查詢到的檔案型別,可能不只你需要的,因為不同型別的mime可能相同,大家需要再篩選一下。
還有乙個很重要的問題:剛新建的檔案查詢不到。
這是因為系統的資料庫可能沒有重新整理。這時你就需要手動重新整理資料庫。可以呼叫一下**:
mediascannerconnection.scanfile(context, path, null, null);
path就是要重新整理的路徑陣列啦。具體用法大家自行搜尋吧。 python按關鍵字篩選日誌檔案
最近忙成了狗,五六個專案堆在一起,頭疼的是測試還失驚無神的給我丟來乙個幾十甚至上百m的日誌檔案,動不動就幾十上百萬行,就算是搜尋也看得頭昏眼花的,因此自己花了點時間寫了一段小指令碼去過濾日誌,當然這樣的東西網上應該大把,但是還是想自己搞下,權當學習!usr bin python encoding u...
關鍵字搜尋後描紅
在剛開始學習php的時候,就對搜尋過後的關鍵字描紅感到好奇,但是這幾天在鞏固php基礎的時候,就發現原來這樣的效果實現並不難。按照慣例,首先給大家看看效果圖吧。執行效果圖 資料庫相關 資料庫名是book,只有乙個資料庫表,也是book,模擬了5條資料。name欄位是書名,description欄位是...
進化後的const關鍵字
const修飾的變數是唯讀的,本質還是變數。const修飾的區域性變數在棧上分配空間const修飾的全域性變數在唯讀儲存區分配空間const只在編譯期有用,在執行期無用 a const修飾的變數不是真的常量,它只是告訴編譯器該變數不能出現在賦值符號的左邊。實際上可以用指標改變它的量。b 在一些編譯器...