1. 需求:
引用
手机通讯录联系人搜索支持单字,拼音跳跃搜索
2. 实现原理
引用
将搜索关键词按字符切分,组合成正则表达式,再从db中获得contactsAllList,遍历将field转换为拼音,类似"YAO 姚 YI 亦 RONG 容"的格式,转换后通过生成的正则表达式匹配,成功则代表搜索成功
3. 正则表达式
^(.*\\b)?$1.*$
4. 测试
static String sourceStr = "YAO 姚 YI 亦 RONG 容";
static String key = "YI";
static String reg = "(.*\\b)?$1";
// TODO 优化:charAt()效率,StringBuffer
public static void main(String[] args) {
String regex = "";
key = key.toUpperCase();
for (int i = 0; i < key.length(); i++) {
regex += reg.replace("$1", String.valueOf(key.charAt(i)));
}
regex = "^" + regex + ".*$";
System.out.println(regex);
System.out.println(Pattern.compile(regex).matcher(sourceStr).matches());
}
分享到:
相关推荐
本文将深入解析一个基于C语言的手机通讯录管理系统的实现细节,该系统提供了添加、查询、修改和删除联系人的功能。 #### 系统功能概述 1. **添加联系人(Add)**:允许用户输入联系人的姓名、电话号码和地址,将其...
手机通讯录通常会按照字母顺序排列,方便用户快速查找所需联系人。在本项目中,我们关注的是一个使用Vue.js、JavaScript(JQ)实现的手机通讯录功能,其中可能遇到了一些小问题。让我们详细探讨这个话题。 首先,...
检索手机存入联系人并显示 2.右侧导航条根据拼音字母检索联系人 3.通过搜索栏实时搜索联系人 4.vCard格式导出并发送分享功能 5.检测系统通讯录是否有变化,有变化在通知栏通知,并更新联系人列表功能.rar,太多无法一一...
设计一个基于Android的手机通讯录,此通讯录包括添加、搜索、修改、删除联系人的功能。 添加、编辑、删除功能 点击通讯录主界面选项菜单中的“添加联系人”菜单项,进入添加联系人界面,输入联系人的基本信息,包括...
在手机通讯录中,每个联系人通常包含以下信息:姓名、电话号码、电子邮件地址、家庭地址、公司信息等。这些信息可以通过一个联系人对象来表示,对象中包含各个属性字段。 在编程实现中,我们可以创建一个`Contact`...
这可能包括搜索栏、联系人列表、以及用于添加新联系人的表单。此外,Material Design指南是Android开发中的重要参考,它提供了统一的视觉风格和交互规范。 其次,**数据存储**是通讯录应用的基础。Android提供了...
综上所述,Android手机通讯录系统是一个集成了联系人管理、通信、搜索和数据备份等多种功能的综合平台。其开放源码的特性使得开发者可以自由创新,为用户带来丰富多样的应用体验。然而,这也带来了一些挑战,如能耗...
在Android开发中,获取手机通讯录并实现联系人选择功能是一项常见的需求,尤其在构建具有社交元素的应用时。本文将详细解析如何通过源码实现这一功能,包括从手机通讯录读取联系人信息、列表展示、多选机制以及返回...
1. **获取手机通讯录联系人**: 在Android中,我们可以使用`ContentResolver`和`ContactsContract`类来访问系统中的联系人数据。首先,我们需要请求读取联系人权限(`READ_CONTACTS`)。然后,通过`ContentResolver...
在每次循环中,`main()`函数会显示菜单供用户选择操作:添加新联系人、搜索联系人或退出程序。根据用户的选择调用相应的函数执行具体的操作。 通过以上分析,我们可以看到,这个简单的手机通讯录程序不仅涵盖了...
通讯录应用通常包含列表视图(ListView)来展示联系人,搜索框(EditText)用于查找联系人,以及添加、编辑联系人的按钮。Android Studio提供的布局编辑器可以简化这一过程,使得开发者能够直观地设计界面。 2. **...
此外,它还支持智能搜索,让用户快速找到所需联系人。 友录通讯录则注重社交化功能,除了基本的联系人管理外,还提供了群组聊天、共享日程等社交元素。用户可以创建联系人群,方便团队协作或家庭成员之间的沟通。...
【手机通讯录】是针对移动设备开发的一种应用程序,主要用于存储、管理和检索个人联系人信息。在J2ME(Java 2 Micro Edition)平台上,开发者可以利用Java语言编写这样的程序,使其能在各种不同类型的手机上运行。...
在仿通讯录联系人的场景中,这种控件可能包含一个搜索栏,用于快速查找联系人,以及一个可滚动的列表,展示联系人的详细信息。 实现这个控件时,我们可能需要以下技术点: 1. 数据结构:通讯录数据通常以列表形式...
在这个项目中,“C语言做的手机通讯录”是利用C语言实现的一个简单应用程序,它模拟了手机上的联系人管理功能。这个项目对于初学者来说是一个很好的实践机会,因为它涵盖了基本的输入输出、数据结构和文件操作等核心...
在Android操作系统中,手机通讯录是一个至关重要的功能,它不仅为用户提供联系人存储、查找和管理的便捷方式,还与其他应用程序和服务紧密集成。这篇“android手机通讯录的毕业论文”可能涉及以下几个关键知识点: ...
在Android平台上,开发一款模仿QQ通讯录的手机通讯录Demo是一项常见的练习,旨在熟悉系统API接口,实现数据同步,联系人分类以及基本的增删功能。这个项目可以帮助开发者提升对Android系统的理解,尤其是关于联系人...
文件名称`SortListView`可能是指一个经过优化的ListView,用于展示排序后的通讯录联系人。在Android中,ListView是一个非常常见的控件,用于展示大量的列表数据,具有良好的性能优化。在通讯录应用中,我们可能需要...
手机通讯录管理系统是一款基于C语言开发的应用程序,它主要用于管理和操作个人或组织的联系人信息。C语言以其简洁、高效和广泛的平台支持,成为实现此类系统的一个合适选择。该系统可能包括添加联系人、删除联系人、...
本文将深入探讨如何利用ListView组件,实现A-Z字母排序、过滤搜索以及汉字转拼音的功能,并介绍如何获取设备上的通讯录联系人和他们的头像。 首先,我们要了解ListView组件在Android中的作用。ListView是一种可滚动...