轉自:http://blog.sina.com.cn/s/blog_5da93c8f0100tdha.html
使用SQLite數據庫執行模糊查詢實現:
(1)使用db.query方法查詢
// select * from users where name like %searcherFilter% ; public List<HashMap<String, Object>> queryByLike(String searcherFilter) { Cursor cursor = db.query(TABLE_NAME, null, "name like '%" + searcherFilter + "%'", null, null, null, null); 或者 Cursor cursor = db.query(TABLE_NAME, null, "name like ?", new String[]{"%"+searcherFilter+"%"}, null, null, null); } (2)使用 Cursor cursor=db.execure("select * from table_name where name like '%"+searcherFilter "%'")
在使用完Cursor後,要關閉Cursor,cursor.close();
如果不關閉,雖然前臺不會force close,但後臺會報錯:DatabaseObjectNotClosedException
在使用完SQLiteDatabase後,同樣需要關閉。db.close();
否則報錯如Cursor。
但兩者報錯時點不同。不關閉Cursor的話,在調用新的Activity時就會報錯。
而不關閉SQLiteDatabase的話,在推出程序,重新進入時就會報錯。