处理搜索的最佳实践

2023-12-23

我有一个SearchView设置,我有一个松散解耦的架构,使用Retrofit and Otto.

我想知道什么最佳实践用于 Android 中的搜索,或任何一般的移动应用程序(意味着类似的东西也可以应用于 iOS)。

具体来说,我正在使用AutoCompleteTextView处理我的建议SearchView数据直接来自API。我不认为这是最佳实践,因为每次用户更改文本中的文本时SearchView已启动 API 调用。

我正在考虑在 SQLite 中存储缓存,然后从那里 ping 结果,但如果用户想要最直接的数据怎么办?你会怎么处理?那会采用什么模式?

如果您对 Android 中搜索的最佳架构或方法有任何想法,我们将不胜感激。


我认为在用户停止输入之前进行 API 调用是没有意义的。因此,您可以设置延迟,例如 500 毫秒。当用户停止输入时,500 毫秒后您将调用 API 并显示结果。

您可以使用Handler's postDelayed安排搜索 API 调用的方法。可以使用Handler来控制消息队列。您发布了延迟的Runnable每次用户键入一个字符并取消以前的消息时。它看起来像这样:

public void onTextChanged(CharSequence s, int start, int before, int count) {
    handler.removeCallbacks(searchRunnable);
    handler.postDelayed(searchRunnable, 500);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

处理搜索的最佳实践 的相关文章

随机推荐