在信函点击上填写AutocompleteTextView

dro*_*dev -7 sqlite android keypress autocompletetextview

我正在制作一个字典应用程序,该数据库包含超过50k字.我AutoCompleteTextView在用户搜索时使用a 来显示单词.我认为加载所有数据并AutoCompleteTextView首先绑定将是一项艰巨的任务,所以我想到了当按键事件发生时加载数据.

为每个按钮按下事件命中数据库也是一个坏主意,因为它很重,所以有没有最佳方法来做到这一点?由于应用程序大小很重要,我不喜欢使用Realm或任何其他数据库.

任何帮助将不胜感激

Pro*_*kar 5

您可以使用过滤器似FilterQueryProviderLIKE %命令,它会尝试更有效,而不仅仅是拉出整个信息匹配字符.

例,

 // select query
        String sql = "";
        sql += "SELECT * FROM " + tableName;
        sql += " WHERE " + fieldObjectName + " LIKE '%" + searchTerm + "%'";
        sql += " ORDER BY " + fieldObjectId + " DESC";
        sql += " LIMIT 0,5";
Run Code Online (Sandbox Code Playgroud)

资源:

带有数据库的Android AutocompleteTextView

性能优化提示:

为列创建索引,并通过运行查询分析来避免扫描操作.扫描操作比搜索操作慢得多.

来源: SQLite查询优化器概述