按匹配数量

时间:2015-09-13 15:07:35

标签: android sqlite android-sqlite android-search

我正在尝试找到一种在Android中使用SearchView执行搜索后根据相关性对搜索结果进行排序的好方法。对我而言,相关性意味着两个SQLite文本列中的匹配数

我正在使用CursorLoader,并且可以在结尾处给出构造函数的排序顺序

CursorLoader tLoader = new CursorLoader(
    getActivity(), ContentProviderM.ARTICLE_CONTENT_URI,
    tProj, tSel, tSelArgs, SORT_ORDER);

(或使用setSortOrder (String sortOrder)方法设置)

但是我需要更多的灵活性,因为我希望对匹配的数量进行排序,而不仅仅是在一列或两列上

我能看到的唯一解决方案是在我的SQLite表中添加另一列,进行一些处理,并将该列作为CursorLoader的排序列提供

现在我的问题:使用SQLite语法向CursorLoader提供排序顺序信息的最佳方法是什么,避免添加新列? (这个SQLite代码看起来怎么样?)另外,我想问更多一般问题:我错过了这个问题的不同解决方案吗?

感谢任何帮助!亲切的问候, 托德

1 个答案:

答案 0 :(得分:0)

根据content provider,如果它只是传递到orderBy字段,您可以执行任何操作。

SQLiteDatabase query

  

orderBy 如何排序格式为SQL ORDER BY子句的行   (不包括ORDER BY本身)。传递null将使用默认值   排序顺序,可能是无序的。

你可以做任何你想做的事,这只是ORDER BY

之后的一行

P.S。它完全取决于Content Provider,它选择忽略参数,你什么都不做。