android contacts 源码分析,Android编程基于Contacts读取联系人的方法(附demo源码)

2023-10-21 14:59

本文主要是介绍android contacts 源码分析,Android编程基于Contacts读取联系人的方法(附demo源码),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文实例讲述了Android编程基于Contacts读取联系人的方法。分享给大家供大家参考,具体如下:

Android Contacts简介:

这里介绍安卓通讯录数据库。包括Android使用Contacts访问SQLite的基本知识,并了解Android SQLite和Contacts的更多信息。谷歌改变了从版本1到版本2的Contacts数据库。下面加以简单介绍。

Contacts 读取代码:

package com.homer.phone;

import java.util.ArrayList;

import java.util.HashMap;

import android.app.Activity;

import android.database.Cursor;

import android.os.Bundle;

import android.provider.ContactsContract;

import android.provider.ContactsContract.CommonDataKinds.Phone;

import android.widget.ListView;

import android.widget.SimpleAdapter;

public class phoneRead extends Activity {

@Override

public void onCreate(Bundle savedInstanceState){

super.onCreate(savedInstanceState);

showListView();

}

private void showListView(){

ListView listView = new ListView(this);

ArrayList> list = getPeopleInPhone2();

SimpleAdapter adapter = new SimpleAdapter(

this,

list,

android.R.layout.simple_list_item_2,

new String[] {"peopleName", "phoneNum"},

new int[]{android.R.id.text1, android.R.id.text2}

);

listView.setAdapter(adapter);

setContentView(listView);

}

private ArrayList> getPeopleInPhone2(){

ArrayList> list = new ArrayList>();

Cursor cursor = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null, null, null); // 获取手机联系人

while (cursor.moveToNext()) {

HashMap map = new HashMap();

int indexPeopleName = cursor.getColumnIndex(Phone.DISPLAY_NAME); // people name

int indexPhoneNum = cursor.getColumnIndex(Phone.NUMBER); // phone number

String strPeopleName = cursor.getString(indexPeopleName);

String strPhoneNum = cursor.getString(indexPhoneNum);

map.put("peopleName", strPeopleName);

map.put("phoneNum", strPhoneNum);

list.add(map);

}

if(!cursor.isClosed()){

cursor.close();

cursor = null;

}

return list;

}

}

AndroidManifest.xml 权限

记得在AndroidManifest.xml中加入android.permission.READ_CONTACTS这个permission

运行结果:

d6cf51aee170fe967604ab6e0db5d88e.gif

示例代码点击此处本站下载。

希望本文所述对大家Android程序设计有所帮助。

这篇关于android contacts 源码分析,Android编程基于Contacts读取联系人的方法(附demo源码)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/255135

相关文章

MyBatis设计SQL返回布尔值(Boolean)的常见方法

《MyBatis设计SQL返回布尔值(Boolean)的常见方法》这篇文章主要为大家详细介绍了MyBatis设计SQL返回布尔值(Boolean)的几种常见方法,文中的示例代码讲解详细,感兴趣的小伙伴... 目录方案一:使用COUNT查询存在性(推荐)方案二:条件表达式直接返回布尔方案三:存在性检查(EXI

Java调用C#动态库的三种方法详解

《Java调用C#动态库的三种方法详解》在这个多语言编程的时代,Java和C#就像两位才华横溢的舞者,各自在不同的舞台上展现着独特的魅力,然而,当它们携手合作时,又会碰撞出怎样绚丽的火花呢?今天,我们... 目录方法1:C++/CLI搭建桥梁——Java ↔ C# 的“翻译官”步骤1:创建C#类库(.NET

Mysql的主从同步/复制的原理分析

《Mysql的主从同步/复制的原理分析》:本文主要介绍Mysql的主从同步/复制的原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录为什么要主从同步?mysql主从同步架构有哪些?Mysql主从复制的原理/整体流程级联复制架构为什么好?Mysql主从复制注意

Java 枚举的基本使用方法及实际使用场景

《Java枚举的基本使用方法及实际使用场景》枚举是Java中一种特殊的类,用于定义一组固定的常量,枚举类型提供了更好的类型安全性和可读性,适用于需要定义一组有限且固定的值的场景,本文给大家介绍Jav... 目录一、什么是枚举?二、枚举的基本使用方法定义枚举三、实际使用场景代替常量状态机四、更多用法1.实现接

java String.join()方法实例详解

《javaString.join()方法实例详解》String.join()是Java提供的一个实用方法,用于将多个字符串按照指定的分隔符连接成一个字符串,这一方法是Java8中引入的,极大地简化了... 目录bVARxMJava String.join() 方法详解1. 方法定义2. 基本用法2.1 拼接

java连接opcua的常见问题及解决方法

《java连接opcua的常见问题及解决方法》本文将使用EclipseMilo作为示例库,演示如何在Java中使用匿名、用户名密码以及证书加密三种方式连接到OPCUA服务器,若需要使用其他SDK,原理... 目录一、前言二、准备工作三、匿名方式连接3.1 匿名方式简介3.2 示例代码四、用户名密码方式连接4

springboot项目中使用JOSN解析库的方法

《springboot项目中使用JOSN解析库的方法》JSON,全程是JavaScriptObjectNotation,是一种轻量级的数据交换格式,本文给大家介绍springboot项目中使用JOSN... 目录一、jsON解析简介二、Spring Boot项目中使用JSON解析1、pom.XML文件引入依

Python中文件读取操作漏洞深度解析与防护指南

《Python中文件读取操作漏洞深度解析与防护指南》在Web应用开发中,文件操作是最基础也最危险的功能之一,这篇文章将全面剖析Python环境中常见的文件读取漏洞类型,成因及防护方案,感兴趣的小伙伴可... 目录引言一、静态资源处理中的路径穿越漏洞1.1 典型漏洞场景1.2 os.path.join()的陷

IDEA中Maven Dependencies出现红色波浪线的原因及解决方法

《IDEA中MavenDependencies出现红色波浪线的原因及解决方法》在使用IntelliJIDEA开发Java项目时,尤其是基于Maven的项目,您可能会遇到MavenDependenci... 目录一、问题概述二、解决步骤2.1 检查 Maven 配置2.2 更新 Maven 项目2.3 清理本

java -jar命令运行 jar包时运行外部依赖jar包的场景分析

《java-jar命令运行jar包时运行外部依赖jar包的场景分析》:本文主要介绍java-jar命令运行jar包时运行外部依赖jar包的场景分析,本文给大家介绍的非常详细,对大家的学习或工作... 目录Java -jar命令运行 jar包时如何运行外部依赖jar包场景:解决:方法一、启动参数添加: -Xb