android - 如何决定何时应该将用户搜索存储在历史记录中?
问题描述
在我的 android 应用程序中,我有一个搜索框,它会在用户键入时进行搜索。用户要求我存储他们的搜索历史,但问题是我如何知道搜索何时完成?
一些可能性:
- 用户停止输入后等待 X 秒 - 目前我正在使用 3000 毫秒计时器,但这有问题,一些用户输入速度很快,而另一些用户输入速度较慢。这有时会存储得太频繁或根本不存储。
- 不要在键入时搜索,而是在用户单击该按钮后显示“开始”并存储。它最容易实现,但用户不会喜欢立即搜索的损失。
- 带有一些过滤器、最小搜索字符的选项 1,如果最后一个历史项目包含在当前项目的开头,则意味着它是用户输入的延续,因此将 last 替换为 current。
实现这样的目标的好方法是什么?
解决方案
推荐阅读
- python - 交叉验证会给出样本外准确度的有偏估计吗?
- jsf - Web 应用程序服务器端的负载平衡是否会生成 JSF 的单例 AppScoped bean 的多个实例?
- javascript - 从旋转元素中找到元素的实际高度和宽度
- ios - getUserMedia 在 IOS 12.3 上未定义
- python - 如何过滤数据框中仅包含特定重复字符的元素
- hibernate - 使用 Hibernate Criteria Api 请求多个模式
- java - Spring Boot 2:在控制器中获取 html 输出
- java - 如何排除 x.class 被编译到我的 jar 文件中?
- google-app-engine - 如何设置 Visual Code 以调试使用 dev_appserver.py 的 GAE 应用程序
- javascript - 如何在 php 变量中执行样式代码到 html textarea