当前位置: 首页 > 面试题库 >

将建议从网络资源搜索到“快速搜索”框中

云远
2023-03-14
问题内容

我正在应用程序中构建搜索,并且需要一种将从服务器中以JSON数组形式获取的建议放入快速搜索框下方显示的建议列表中的方法。

有没有一种简单的方法可以使快速搜索框读取此类资源?

当前,我正在尝试使用ContentProvider,但是接口方法清楚地表明应该在查询数据库以获取建议。我想如果您要搜索存储在应用程序内部的数据,则使用ContentProvider是正确的方法。但是我不确定,如果您需要查询网络资源,这是正确的方法。

对于我来说,将我从网络中获得的建议保存到本地数据库中是没有意义的,因为这些建议及其命中率有时会有所不同。

有人遇到这个问题吗?还是可以将我引向类似问题的方向?我在堆栈上找不到提到网络建议的问题。


问题答案:

在developer.android.com上找到了解决方案

如果您有从网络位置得到的建议,则可以在从服务器上获得结果时即时建立游标。

这在ContentProvider的query()方法中:

String[] columns = {
   BaseColumns._ID, 
   SearchManager.SUGGEST_COLUMN_TEXT_1, 
   SearchManager.SUGGEST_COLUMN_INTENT_DATA
};

MatrixCursor cursor = new MatrixCursor(columns);

for (int i = 0; i < arr.length(); i++)
{
  String[] tmp = {Integer.toString(i), arr.getString(i), arr.getString(i)};
  cursor.addRow(tmp);
}
return cursor;

光标用于快速搜索框中以填充建议列表。



 类似资料:
  • 问题内容: 我正在为基于php的网站创建一个搜索引擎。我需要搜索一个mysql表。 事实是,搜索引擎必须非常“智能”,以便用户可以轻松找到他们的商品(这是一个分类网站)。 我目前已使用以下代码设置了FULLTEXT搜索: 但这还不够… 例如,假设该字段包含类似的内容。如果我搜索,我将不会得到任何结果。尾数(’ci’)只是汽车型号中许多尾数之一,在搜索表时必须将其考虑在内。 或者,如果该字段是什么?

  • 如何在android Studio中快速搜索一个类文件或整个资源文件?

  • 大家好,根据搜索框中的conatiner图像在这里!我只是想问当用户在搜索框中键入一个名称时,应该显示特定的字段。我把我的视图。JSP代码也在这里吗?? vuew.jsp<%@page import=“com.privery.servicebuilder.service.blobdesolocalserviceutil”%><%@taglib uri=“http://java.sun.com/po

  • 问题内容: 我想检索几年前/几个月前在Google网络历史记录中出现的旧Google搜索。我如何以编程方式检索它们? https://www.google.com/history/?output=rss仅提供最近的Google搜索,但不是全部。 还有一个问题:如何检索我的Google搜索记录?没有为我的问题提供任何答案! 问题答案: 您可以传递月,日和年作为参数来获取特定日期的历史记录。 例如,2

  • import { Search } from 'feui'; components: { [Search.name]: Search } 代码演示 浮动到顶端用法 <fe-search @result-click="resultClick" @on-change="getResult" :results="results" v-model="value"

  • 使用指南 组件介绍 搜索框 引入方式 import { SearchBar } from 'feart'; components: { "fe-search-bar": SearchBar } 代码演示 基础用法 <fe-search-bar v-model="value" /> 样式风格 <fe-search-bar v-model="value" searchType="plai