В моем приложении для Android я хочу выполнить запрос к поставщику контента, а затем уточнить этот поиск (у меня есть две строки предложения WHERE
). Записи, которые должны быть возвращены вторым запросом, являются подмножеством строк, возвращаемых первым запросом.
Мое текущее решение выглядит так:
Cursor cursor1 = query (myUri, myProjection, where1, null, null);
//do stuff
Cursor cursor2 = query (myUri, myProjection, where2, null, null);
//do other stuff
Если я сделаю это, второй запуск запроса будет совсем неэффективным (он ищет всю базу данных, как и первый). Я хотел бы, чтобы второй запрос выполнялся только для строк, которые возвращаются в cursor1. Можно ли это сделать и как?
В документации Android указано, что запросы могут кэшироваться, если я использую ту же (параметризованную) строку, где и другие параметры. Может ли это быть полезным или есть совершенно другой способ сделать это?