Android 读写联系人列表

实现对手机联系人列表进行读写操作,并用RecyclerView收缩展开方式展现 实现对手机联系人列表进行读写操作,并用RecyclerView收缩展开方式展现 在之前做的类微信界面上加了显示手机联系人,姓名,电话,邮箱三项信息的功能,同时可以添加联系人同步到手机联系人记录中,添加完下拉刷新显示。 完整的项目代码 在Android中,如果想把A应用的数据库增加一个共享方式,就为A应用写一个ContentProvider方法,标识B应用要访问的数据。然后通过ContentReso... 阅读详情
package com.test;

import android.content.ContentUris;
import android.content.ContentValues;
import android.database.Cursor;
import android.net.Uri;
import android.provider.ContactsContract.CommonDataKinds.Phone;
import android.provider.ContactsContract.Contacts;
import android.provider.ContactsContract.Data;
import android.provider.ContactsContract.RawContacts;
import android.test.AndroidTestCase;

public class JunitTest extends AndroidTestCase {
	/**
	 * 读取手机联系人
	 */
	public void Test1(){
		Uri uri=Uri.parse("content://"+"com.android.contacts/data/phones");
		Cursor cur= this.getContext().getContentResolver().query(uri,null, null, null, null);
		String[] str= cur.getColumnNames();
		while(cur.moveToNext()){
			String name=cur.getString(cur.getColumnIndex("display_name"));
			String num=cur.getString(cur.getColumnIndex("data1"));
			System.out.println(name+"=="+num);
		}
		cur.close();
	}
	
	/**
	 * 写入联系人信息
	 */
	public void Test2(){
		String rawbase = "content://com.android.contacts/raw_contacts";
		 ContentValues values = new ContentValues();
		 Uri  uri = getContext().getContentResolver().insert(Uri.parse(rawbase), values);
		 //获取raw_contact 表返回的_id
		 long id = ContentUris.parseId(uri);
		 
		 String database = "content://com.android.contacts/data";
		 ContentValues nameValues = new ContentValues();
		 nameValues.put("mimetype", "vnd.android.cursor.item/name");
		 nameValues.put("data1", "警察");
		 nameValues.put("raw_contact_id", id);
		 getContext().getContentResolver().insert(Uri.parse(database), nameValues);
		 
		 ContentValues phoneValues = new ContentValues();
		 phoneValues.put("mimetype", "vnd.android.cursor.item/phone_v2");
		 phoneValues.put("data1", "110");
		 phoneValues.put("raw_contact_id", id);
		 getContext().getContentResolver().insert(Uri.parse(database), phoneValues);
		 
		 ContentValues emailValues = new ContentValues();
		 emailValues.put("mimetype", "vnd.android.cursor.item/email_v2");
		 emailValues.put("data1", "xgn@sina.com");
		 emailValues.put("raw_contact_id", id);
		 getContext().getContentResolver().insert(Uri.parse(database), emailValues);
	}
}


 

Android6.0权限大全和权限分类 自从出了Android6.0权限管理之后,再也不能像以前那样粘贴复制了,必须认识权限了,所以总结一下方便以后自己使用。 一.所有权限 访问登记属性 android.permission.ACCESS_CHECKIN_PROPERTIES ,读取或写入登记check-in数据库属性表的权限 获取错略位置 android.permission.ACCESS_COARSE_LOCATION,通过WiF... 阅读详情

相关推荐

Android学习--隐式Intent获取联系人信息或电话

在学习到隐式Intent的时候,接触到要查阅联系人信息以及电话,在翻阅了一些资料后,自己总结了一些点: 如果需要返回联系人信息或电话的时候,要用到的Intent动作为Intent.ACTION_PICK(返回所选择的信息), 而如果要拨打电话的时候有两个Intent动作可供选择:Intent.ACTION_DIAL和Intent.ACTION_CALL,两者的不同在于前者是拨好号码,等用户来发

Ryanlfy的博客 2352

安卓获取浏览器上网记录_腾讯报告:所有安卓App均获取隐私权限 2%越界获取

新京报讯(记者 罗亦丹)1月25日,腾讯社会研究中心与DCCI互联网数据中心联合举办了《2018年度网络隐私及网络欺诈行为研究分析报告》,报告指出,其在2018年下半年测评603个安卓手机App发现,几乎所有的安卓端手机App都会获取手机隐私权限,其中九成左右App试图获取读写存储设备及获取应用列表权限,过半App申请读取联系人权限。不过,安卓端手机App越界获取手机权限的情况正逐渐减少,到201...

weixin_34245171的博客 674

ESP8266 进行HDLC解码,AX.25,APRS

/************************************************************** 函数名:aprs_wait_begin() 参 数:无 返回值:bool true=得到合法脉冲,false=未得到 说 明:等待第1个833us高脉冲,判断范围 730-930,其他忽略 ***************************************************************/ bool aprs_wait_begin(){ stati

蓝蓝的博客 1628

基础总结篇之六:ContentProvider之读写联系人

靡不有初,鮮克有終。《詩經》 很多事情,绝大多数人都会在开始的时候满怀热情,而能坚持到底的却是寥寥无几。对待自己的目标,虎头蛇尾绝不可取,半途而废只会一无所成,我们必须持之以恒的做下去,坚持到底才能摘取胜利的果实。最近也忙了起来,忙着给自己充电,深知这项任务的艰巨,不是一天两天的事,所以也借用这句警言来告诫自己,坚持不懈的走下去。 今天我们来讲解一下如何利用ContentProvide...

maozhuxigood 208

NXP(imx8qxp)系列DDR校准以及android镜像烧录

文章目录一、 不得不吐槽以下nxp的这个代码镜像烧写的过程,做得太开源了,导致镜像根本烧录不进去,实属令人头痛。 一、

永不秃头的程序员的博客 5991

C++调用海康相机SDK采集图像(C++\QT Creator\openCV\线程\接口)

C++调用海康相机SDK采集图像(C++\QT Creator\openCV\线程\接口) 之前写了一篇关于C++调用海康相机SDK采集图像的文章,有很多人私下发送消息咨询了一些问题,由于工作繁忙,只答复了一部分问题,今天抽出时间从头梳理了一下大家提出的问题,把我能够回答的问题都解答一次。上一次的程序只是简单的实现了图像的采集,没有使用到线程,今天把程序重新做出调整,把线程和多态加进去。文章最后有项目的下载地址。 我使用的是QT Creator这个IDE,版本信息如下: 我把相机采集的图像转换为openC

大樱桃的博客 1万+

ViewPager+Fragment获取联系人列表

在Android中,可以使用ContentResolver对通信录中的数据进行添加、删除、修改和查询操作。 在对联系人进行操作时需加入以下两个权限   主界面布局文件activity_main.xml: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android

东哥日记 2722

时空数据建模的跨节点联邦图神经网络:KDD21 Cross-Node Federated Graph Neural Network for Spatio-Temporal Data Modeling

前言 联邦学习(FL)虽然已经被广泛研究,但是对复杂的时空依赖关系进行建模以提高预测能力仍然是一个开放的问题。此外目前最优的时空预测模型假定对数据的访问不受限制,忽略了对数据共享的限制。基于此,本文提了一个基于图联邦学习的时空数据模型 Cross-Node Federated Graph Neural Network (CNFGNN),该模型在跨节点联邦学习的约束下,使用基于图神经网络(GNN)的架构对底层图结构进行编码,属于结构化联邦的一种,每个本地模型利用私有数据进行学习,并保持分散性。CNFGNN

qq_56027260的博客 1810

通过内容提供者写联系人

1、写联系人权限 <uses-permission android:name="android.permission.READ_CONTACTS"/> <uses-permission android:name="android.permission.WRITE_CONTACTS"/> 2、java代码 1 package com....

anmai7157的博客 122

YOLO11创新改进系列:卷积,主干 注意力,C3k2融合,检测头等创新机制(已更新110+)

本专栏提供详细的 YOLO11 教程,包括基础知识、源码解析、入门实践、算法改进和项目实战,适合发表YOLO11 学习者订阅。内容包含 100+多篇独家改进机制,适合发表论文,评分高达 96 分。订阅者将获得一键运行的改进文件及答疑交流群支持。 使用服务器的同学还可以私聊获取搭建好的运行环境。

专注于图像领域,主要研究内容包括计算机视觉和深度学习,特别是在图像分类、目标检测和图像生成等方面有深入的研究和实践经验。 1万+

深入剖析 YOLOv11 中的 C2PSA 注意力机制

YOLOv11中的C2PSA注意力机制在目标检测领域取得突破性进展。该机制通过跨通道分组交互和轻量级位置编码,在仅增加0.6%计算量的情况下提升mAP 1.5-2.3个百分点。C2PSA创新性地结合局部跨通道交互、位置编码和双分支并行调制,采用纯卷积实现自注意力,避免传统注意力机制的高计算复杂度。实验表明,C2PSA在COCO数据集上以微小计算代价显著提升检测性能,特别是对小目标和遮挡目标效果突出。该模块可直接嵌入YOLO架构,为轻量级目标检测提供新的优化方向。

shrgegrb的博客 3397

查询Email与增加联系人

package com.example.contentproviderdemo2; import android.app.Activity; import android.content.ContentProvider; import android.content.ContentResolver; import android.content.ContentUris; import andro

549

【网络】叶脊(Spine-Leaf)网络拓扑下全三层网络设计与实践(二) - 网络规划

2. 全三层架构设计思路 采用全三层网络架构设计的出发点是: 使用尽量少的交换机高级功能,可以尽可能减少由于功能bug故障造成的问题; 使用尽量少的网络协议,以兼容不通厂商的网络设备 实现简单,易于维护,绝对可靠的路由协议; 通过控制路由来调度流量,尽量减少设备或协议的故障域; 牺牲高级功能带来的便捷,得到更高的可用性和性能; 由上述原则,本文的设计选择只使用静态路由和BGP...

因吹斯汀 1万+

Android 调用系统的ContentProvider

1.调用系统的ContentProvider Android系统为我们提供了一些系统定义好的ContentProvider,我们可以根据这些ContentProvider的Uri得到相应的数据。比方说你想获得手机短信的信息,那么必定有和其对应的Uri,你想获得图库、联系人信息,也必定有相应的Uri与之对应。知道对应的Uri后,就可以过ContentResolver这个对象,根据Uri进行数据访问。 2.举例(手机短信数据的获取,以及备份和恢复) 接下来我们就来看一个案例,这个案例的主要功能就是根据Uri获取

zenmela2011的专栏 1548

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Android动态权限获取总结

自从Android6.0之后,很多比较关键的权限被标记为危险权限,只能通过动态获取,只在AndroidManifest.xml里面注册是不起作用的: 危险权限: 权限组名 权限名称 CALENDAR(日历) READ_CALENDAR WRITE_CALENDAR CAMERA(相机) CAMERA CONTACTS(联系人) READ_CONTACTS WRI...

qq_16548551的博客 605

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Android运行时危险权限

简介 Android 6.0开始,Google将权限分为两类,一类是Normal Permission, 这类权限一般不涉及用户隐私,是不需要用户进行授权的,比如手机震动、访问网络等;另一类是Dangerous Permission,一般是涉及到用户隐私的,需要用户进行授权,比如读取sdcard、访问通讯录等。 危险权限列表 具体介绍 android.permission.READ_CALEND...

MasssA 890

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Android 读取联系人列表

需要获取ContentResolver对象,通过内容URI确定要访问的数据,联系人应用的内容URI常量ContactsContract.CommonDataKinds.Phone.CONTENT_URI,在调用ContentResolver对象的query()方法进行联系人信息查询时,需要将常量作为第一个参数。在Android6.0及以上的版本中,读取联系人信息属于危险权限,需要进行静态权限声明申请。只有一个listview列表项用于存储从手机联系人中获取的数据。

qq_52108058的博客 3068

android 定时获取联系人信息

package cn.myjdb;import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStreamReader;import android.content.Content

dayDayupbetter的博客 495

Android学习之XML Pull 解析

MyXMLPullUtil.java: package com.cz.xmlpull; import java.io.InputStream; import java.io.OutputStream; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import ...

陈正的博客 158

Android获取手机通讯录的信息(姓名和改姓名下的所有手机号)

Android获取手机通讯录的信息(姓名和改姓名下的所有手机号1.实现过程2.实现代码 1.实现过程 1 定义一个专门存储信息的对象类,有姓名,首字母和手机号列表 2 通过获取手机的读写权限,然后来获取手机通讯录信息 2.实现代码 1.对象存储类 import java.util.List; public class ContactsBean { private String fullName; private List<String> phoneList; priva

hongfei568718926的博客 1041

一个内置 电话 通讯记录和 图片 的 类

package com.sprd.otaupgradecheck; import android.annotation.SuppressLint; import android.content.ContentProviderOperation; import android.content.ContentUris; import android.content.ContentValues; import android.content.Context; import android.content.Ope.

weixin_42539351的博客 493

联系人头像 android

class="java" name="code">ContentResolver cr = getContentResolver();   Cursor cursor = cr.query(ContactsContract.Contacts.CONTENT_URI, null, "DISPLAY_NAME = '" + "gm" + "'", null,                   n

水迹专栏 1843

android 读写联系人,Android 读取联系人数据库

需求:通过ListView把联系人展示出来例图需要: 一个activity 一个绑定activity的布局 一个item布局基础知识:raw_contacts表contact_id:联系人iddata表:联系人的具体信息,一个信息占一行data1:信息的具体内容raw_contact_id:联系人id,描述信息属于哪个联系人mimetype_id:描述信息是属于什么类型mimetypes表:通过m...

weixin_42514949的博客 352

android 读写联系人,Android 读取手机联系人

核心思想:使用内容提供器 ContentResolver 获取 Phone.CONTENT_URI 中的联系人信息。首先在 AndroidManifest 中添加权限:调用内容提供器获取联系人信息:private void readContacts() {Cursor cursor = null;try {//获取内容提供器ContentResolver resolver = getContent...

weixin_35760849的博客 245

Android联系人列表开源项目常见问题解决方案

Android联系人列表开源项目常见问题解决方案 1. 项目基础介绍和主要编程语言 本项目是一个开源的Android联系人列表界面,它提供了一个基本的框架,用于展示和管理联系人信息。项目的编程语言主要是Java,适用于有一定Android开发基础的开发者。 2. 新手在使用这个项目时需特别注意的3个问题及解决步骤 问题一:项目无法编译运行 问题描述: 新手在导入项目后,可能会遇到编译错误或运行失败...

gitblog_00642的博客 344
上一篇: MSSQLSERVER2000 数据库“置疑”状态处理
下一篇: Linux 常用命令 test
IT回忆录
博客等级 码龄16年 42粉丝 100原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值