`

如何获取一个联系人下的多个号码和号码类别

 
阅读更多
public ListAdapter getMoreContacts(String name) {

		contactIdCur = null;
		if (name == null || name.equals("") || name.length() == 0) {

			// query
			contactIdCur = getContentResolver()
					.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
							new String[] {
									ContactsContract.CommonDataKinds.Phone.CONTACT_ID,
									ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME },
							null, null, null, null);
		}// if
		else {
			// condition query
			contactIdCur = getContentResolver()
					.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
							new String[] {
									ContactsContract.CommonDataKinds.Phone.CONTACT_ID,
									ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME },
							Contacts.DISPLAY_NAME + " LIKE ? and "
									+ Contacts.HAS_PHONE_NUMBER + " = 1",
							new String[] { "%" + name + "%" },
							Contacts.DISPLAY_NAME, null);

		}

		contactsData = new ArrayList<Contact>();
		if (contactIdCur != null) {
			while (contactIdCur.moveToNext()) {

				contact = new Contact();			
				
				// get data
				contact.setName(contactIdCur.getString(contactIdCur
						.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME)));
				long contactid = contactIdCur
						.getLong(contactIdCur
								.getColumnIndex(ContactsContract.CommonDataKinds.Phone.CONTACT_ID));
               
				// query numbers by ID
				Cursor phoneObjectCur = getContentResolver().query(
						ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
						null,
						ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "="
								+ contactid, null, null);
				phones = new ArrayList<Phone>();
				while (phoneObjectCur.moveToNext()) {
					// get number
					String number = phoneObjectCur.getString(phoneObjectCur
							.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
					
                                      //get type
                                    int typeId = phoneObjectCur.getInt(phoneObjectCur
							.getColumnIndex(ContactsContract.CommonDataKinds.Phone.TYPE));
					String type = typeId2String(typeId);
					
					Phone phone  = new Phone();
					phone.setNumber(number);
					phone.setType(type);
					phones.add(phone);
				}
				contact.setPhones(phones);
				contactsData.add(contact);
			}
		}
	
		contactIdCur.close();
		ContactAdapter contractAdp = new ContactAdapter(ContactActivity.this,
				R.layout.contacts_list_row, contactsData);

		return contractAdp;

	}

 

分享到:
评论

相关推荐

    号码魔方。号码整理 分类软件

    此外,软件还支持批量操作,用户可以一次性将多个号码归入同一类别,极大地提高了工作效率。 除了基本的号码管理和分类外,“号码魔方”还可能提供了其他实用特性。例如,它可能具有号码归属地查询功能,帮助用户...

    C++电话薄 文件读取 文件写入 添加删除修改联系人 分类显示 查询功能

    在本项目中,我们主要探讨的是使用C++编程语言实现一个...这个项目对于初学者来说是一个很好的练习,涵盖了文件操作、数据结构、用户交互等多个C++编程的重要方面。希望这个项目对学习C++编程和数据管理的人有所帮助。

    简单个人电话号码查询系统简单个人电话号码查询系统

    个人电话号码查询系统是一种用于管理和检索个人联系信息的应用程序,主要功能是存储、搜索和更新电话号码及相关联系人信息。此类系统通常包含一个数据库,用于存储用户输入的姓名、电话号码、地址和其他相关详情。在...

    Android 联系人分类列表,更明显的分类

    开发者可以通过这些API获取到联系人的基本信息,如姓名、电话号码、电子邮件等,并可以根据这些信息对联系人进行分类。 侧边栏(Sidebar)通常是一个滑出式的导航菜单,用于展示主要的类别或分组。在这个项目中,侧...

    安卓Android源码——手机的通讯录联系人信息.zip

    3. **数据存储**:Android将联系人数据存储在SQLite数据库中,每个联系人可能包含多个数据项,如姓名、电话号码、电子邮件地址等。这些数据项存储在不同的表中,如`RawContacts`、`Data`和`Contacts`等。 4. **联系...

    java 联系人管理code

    综上所述,这个“Java联系人管理代码”项目涵盖了Java编程、数据结构、文件操作、Android开发、数据库管理、UI设计等多个核心知识点。通过实践这些技术,开发者可以创建一个功能齐全且用户友好的联系人管理系统。

    电话号码管理系统

    1. **数据存储**:`telDB` 文件可能是数据库文件,用于存储所有电话号码和其他联系人信息。数据库设计通常包括姓名、电话号码、电子邮件地址、家庭住址等字段,以便用户可以快速查找和过滤所需的信息。 2. **用户...

    C# 联系人管理系统

    首先,"C# 联系人管理系统"的设计目标是提供一个用户友好的界面,使得用户能够轻松地存储、检索和管理他们的联系人信息。系统应具备丰富的功能,如添加新联系人、编辑现有联系人信息、删除联系人、搜索联系人以及按...

    Excel 联系人 v2.7.6.1

    10. 可以在电子表格里重新设置联系人群组, 一个联系人可以属于多个群组。 11. 可以将手机里的联系人或群组全部删除。 12. Excel联系人能支持多达10000多条联系人信息. 13. 支持中文列名和标签名。 14. 在Excel中嵌入...

    android多选联系人实现

    在Android开发中,有时我们需要实现一个功能,让用户能够从手机联系人列表中选择多个联系人。这个过程涉及到了Android的联系人访问权限、Intent机制以及数据处理等多个知识点。本篇文章将详细探讨如何在Android应用...

    类似手机联系人的滑动效果

    综上所述,"类似手机联系人的滑动效果"涉及了移动应用界面设计、数据列表的展示、分组逻辑、滚动动画以及自定义视图组件等多个知识点。在实际开发中,开发者需要熟练掌握这些技术,并结合具体的业务需求进行优化和...

    联系人管理系统(希望大家指点一二)

    联系人管理系统是一个常见的软件开发项目,它主要用于存储、管理和检索个人或组织的联系信息...总的来说,联系人管理系统是一个涉及多方面技术的实践项目,对于学习和掌握.NET编程以及软件工程原理有着很好的锻炼价值。

    基于随机森林和Xgboost对肥胖风险的多类别预测数据集与源码

    数据集方面,系统采用了包含多个特征(如年龄、性别、身高、体重、生活方式等)和肥胖风险类别标签的数据集。通过对这些数据进行预处理和特征工程,系统能够提取出与肥胖风险密切相关的关键信息,为模型训练提供有力...

    [其他类别]获取MSN,Live,google,Yahoo 好友列表_getfriend.zip

    【正文】 本压缩包文件“[其他类别...综上,这个源码示例可能涵盖了网络协议解析、API调用、用户认证、数据处理和存储等多个IT领域的重要知识点,对于希望开发跨平台即时通讯应用的开发者来说,是一个宝贵的参考资料。

    做好重要电话号码的分类.docx

    5. **动态更新**:定期更新电话号码列表,移除不再联系的号码,添加新的联系人。保持信息的新鲜度是保持高效沟通的关键。 6. **数字化管理**:利用电子表格或者专业的客户关系管理系统(CRM)来存储和管理电话号码...

    通讯录java课程设计

    3. **群组功能**:用户可以创建和管理联系人群组,方便按类别管理联系人。 4. **聊天功能**:实现即时通讯,允许用户发送文字、图片、语音等消息给单个联系人或群组。考虑到多人同时在线聊天,可能需要引入多线程...

    项目:通讯录管理系统设计任务五:制作“新增联系人”窗体.pptx

    - TabControl用于展示多个选项卡,例如不同的联系人信息类别。 - txtName是用于输入联系人姓名的TextBox。 - cmbGroup是联系人分组的ComboBox,允许用户选择或分配联系人到特定的组别。 - txtPhone用于输入联系...

    java设计电话通讯录功能

    如果存在(只要手机号码相同就认为是同一个联系人) 这个联系人存在不能继续添加进通讯录里面 cmd里面显示:对不起 当前用户已经存在 同一个用户不能添加多次 如果不存在 将当前联系人添加进集合里面 cmd...

    简易手机通讯录.源码

    例如,根据姓名或电话号码查询特定联系人,或者获取所有联系人。而修改和删除功能则涉及到对已有记录的更新或移除。 最后,为了实现动态的实时更新,比如当系统中新增或修改了联系人时,应用能够自动同步,可以使用...

    c++个人通讯录课程设计报告

    - **增加功能**:允许用户添加新的联系人信息,包括姓名、电话号码和所属类别。系统能够检测重复数据并限制单个通讯录的最大容量为15条记录。 - **拨号功能**:用户可以选择一个联系人,系统会模拟拨号过程并显示...

Global site tag (gtag.js) - Google Analytics