如何以 Google Finance android 应用程序的方式实施实时搜索建议?
假设我可以从 xyz.com/quote/tickers=aapl,goog,.... 检索 xml 响应
到目前为止,我已经实现了获取用户完整查询字符串并加载片段的意图和操作。我正在寻找的是一种解决方案,用户可以在输入每个字符时从 xyz.com 获得结果。这意味着我们需要在输入字符时点击引用 url 并在下拉列表中显示 xml 响应。
Android 文档描述了如何ContenProvider
为您的搜索建议创建一个。
使用名为Trie的数据结构更好地实现实时搜索建议(或自动完成),使用 Trie,您将所有候选关键字加载到内存中,然后在内存中搜索 Trie,这比从中获取搜索结果要快得多另一个通过 HTTP 的服务,如果你必须通过 HTTP 进行搜索,我怀疑它是否是实时的。
如果要加载的关键字数据集很大,使用 Trie 肯定会有限制,您可能无法在 Android 应用程序中使用它。
好吧,还有一个名为Patricia Trie的压缩 trie ,它比传统的 trie 消耗更少的内存。
如果 xyz.com 有数据库使用 LIKE 运算符(%)查询该数据库,它将给出匹配的结果。为了显示 xml 响应,我们可以使用 jersey API。http://jersey.java.net/,每个字符使用 Key down 事件。