短信文本查找之 MATCH 与 LIKE

最近发现原生短信应用的搜索功能的搜索结果十分不准确,所以就开始追踪代码;

关于android searchview的使用这里就不描述了,简单说一下,android的searchVIew是支持autocomplete的,也就是输入文字就会自动显示一个下拉的搜索结果,相当于快速显示,用户可以直接点击出现的结果进行进一步搜索;所以这里就存在了两次查找,两次查找都会最终在MmssmsProvider中完成,快速显示对应 URI_SEARCH_SUGGEST, 是输入文字发生变化时;一次是真正点击搜索后的界面,对应URI_SEARCH;

具体可以参考MmsSmsProvider;

可以在query函数中看到URI_SEARCH_SUGGEST的执行:

cursor = db.rawQuery(SEARCH_QUERY, SEARCH_STRING);

 

android的sql语句适用于英文,不符合中国汉字,比如其使用的是text+*,而且使用MATCH,而非LIKE,所以需要修改这两个地方;

查询的字串前后+%,同时SQL语句使用LIKE关键字。

你可能感兴趣的:(match)