我在SQLite数据库中有一些数据,我想在列表视图中提供基本的搜索功能。
以下是我希望能够解决的搜索查询示例:
1)sqlite数据示例:
- 广告
- BC
- CD
- d
- 哒
- EC
2)输入&想要输出:
- a - > [ad,da]
- d - > [d,da,ad,cd]
- c - > [cd,bc,ec]
我已经想到了一些事情,但没有什么是正常的:
name LIKE ?% OR name LIKE %?%
):未排序。也许可以想出另一个我不知道的查询name LIKE ?%
然后是name LIKE %?%
):但是如何使用内容提供商实现它? CursorWrapper? MergeCursor?自定义装载机?我看过很多例子,但对我的自定义搜索没什么用。
感谢您的帮助。
修改:d
上的查询应该提供[d,da,ad,cd]。
我想要的自定义排序顺序是:LIKE模式%AND然后LIKE%模式%(例如socks
应该出现在a pair of socks
之前)
答案 0 :(得分:1)
CursorLoader constructor的最后一个参数是sortOrder
- 将name
列添加为sortOrder
以对结果集进行排序(请注意,将其留空,为{{ 3}}可能导致未按顺序排列。)
答案 1 :(得分:1)
以下是您的要求:
SELECT DISTINCT t.name
FROM (select *, 1 as sec from items WHERE name LIKE 'd%'
union
select *, 2 as sec from items WHERE name LIKE '%d%') as t
ORDER BY t.sec ASC