当前位置: 首页 > 知识库问答 >
问题:

如何仅通过部分号码搜索联系人

轩辕鸿
2023-03-14

我正在开发一个android应用程序,一个问题让我很困惑,我想实现一个功能,像只通过部分号码搜索联系人,如联系人A的号码为1234567,我想用户只需输入123或345等,然后相关的联系人将被列出;但是当我研究android的数据库结构时,这似乎很难实现,唯一相关的数据只是表数据中的DATA1和DATA4,DATA1只是用户在添加联系人时输入的;但它会有一些格式,如123-456 (123)456或123 456等。数据4是规范化的数字,但有时它会有国家代码部分,如1等。有时它是正序,有时它是逆序,如1123456或6543211,所以我觉得很难实现它,有人能帮助我!提前感谢!

共有1个答案

龚寂弦
2023-03-14

第一种方法 -

将用户输入值(例如345)传递给函数

public String getPreparedInput(String input) {

    if(input==null || input.trim().length()==0) return "";

    StringBuilder sb = new StringBuilder("%");
    char[] chars = input.trim().toCharArray();
    for(char ch : chars) {
        sb.append(ch);
        sb.append("%");
    }
    return sb.toString();
}

接下来,在内容解析器的where子句中使用函数的输出(即%3%4%5%)

字符串where=“phone_number like'”getPreparedInput(input)“'”

第二种方法 -

对where子句中的字符串使用SQLite replace()函数

字符串,其中 = “替换(替换(替换(phone_number,',''),'-',''),'('”,“'),')',''),',') 像 '%' 输入 ”%'“;

 类似资料:
  • 实现较为完整的联系人词条搜索算法。SearchCore 为C语音编写,ios、android、symbian都可以用。具体功能见下面。 内存占用: 10000个人2M左右 效率:6K人搜索,100ms左右(iphone4) 支持搜索内容: 1.姓名搜索:支持汉字、模糊拼音、多音字搜索,只匹配连续的字; 2.号码搜索; 3.支持T9键盘的数字对应字母的匹配,只需设置MatchFunction为键盘2

  • 问题内容: 我想构建一个由Instagram照片驱动的小型“即时图片搜索”应用。就像Google Instant,您可以在其中开始键入内容,并且在键入更多字母时显示/更新结果。 您可以看到由Google图片提供支持的实时演示应用。我知道使用大型引擎(Google,Yahoo!,Bing)是可行的,但我不知道Instagram是否允许这样做。任何熟悉API的人都可以提供帮助吗? 如果无法通过有意义的

  • 问题内容: 在Java项目中,我正在使用第三方库,该第三方库通过 我希望能够从我的应用程序中影响此方法的搜索路径,以便用户无需在命令行上指定正确的java.library.path值(此值取决于当前操作系统)和建筑)。例如在Windows上,我想将其设置为“ lib / native / windows”,在Linux 32bit上,将其设置为“ lib / native / linux32”等。

  • 问题内容: 我的脚本来调用ajax 的HTML 问题: 在onkeyup上,我正在使用ajax来获取结果。一旦ajax结果延迟增加,对我来说就会发生问题。 例如, 当键入关键字时,我收到ajax结果,而当键入两次键之间的ajax时间延迟有时引起严重问题时,我收到ajax结果。 当我快速打字时。与相比,ajax搜索关键字的时间晚了。我不知道该如何处理这类案件。 结果由于ajax延迟 而快速键入关键字

  • 在springboot中,您可以拥有一个

  • 问题内容: 我有一个包含逗号分隔值的MySQL表,如下所示: 我要选择其集合中的行。我怎样才能做到这一点? 问题答案: 怎么样

  • 我正在使用ElasticSearch5,找不到以下问题的解决方案:我想在文档中搜索带斜杠的字符串(url的一部分)。但它不会返回匹配的文档。我读过一些东西,带斜线的字符串被ES拆分,这不是我想要的字段。我尝试用映射在字段上设置“not_analysis”,但似乎无法使其工作。 “创建索引”:Put http://localhost:9200/test “添加文档”:post http://loca

  • 问题内容: 我可以通过JNDI读取LDAP中存储的密码。但是结果是一些乱码。那么我该如何解密呢? 下面是我的代码: 有什么建议吗?? 提前谢谢了 凯文 问题答案: 您所看到的([B @ 1cd8669)是Java所说的“这是一个字节数组”。 存储的“密码”很可能是真实密码的哈希值或加密版本。顾名思义,密码散列是不可逆的,因此,如果LDAP存储散列,则您将无法查看用户的密码。 如果它是加密的,那么如