iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >Android利用ContentProvider获取联系人信息
  • 450
分享到

Android利用ContentProvider获取联系人信息

2024-04-02 19:04:59 450人浏览 薄情痞子
摘要

本文实例为大家分享了Android利用ContentProvider获取联系人信息的具体代码,供大家参考,具体内容如下 在写代码前我们首先看一下运行的效果 运行效果如下: 点了获取

本文实例为大家分享了Android利用ContentProvider获取联系人信息的具体代码,供大家参考,具体内容如下

在写代码前我们首先看一下运行的效果

运行效果如下:

点了获取联系人就展示如下效果

读取联系人信息的例子(MainActivity)


package com.example.administrator.myapplication;

import android.content.ContentResolver;
import android.database.Cursor;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ListView;
import android.widget.SimpleAdapter;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;


public class MainActivity extends AppCompatActivity {

    private ContentResolver cr;
    private List<Map<String,Object>> data;
    private ListView lv_main_list;
    private SimpleAdapter simpleAdapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        lv_main_list = (ListView)findViewById(R.id.lv_main_list);

        //获取内容访问者
        cr = getContentResolver();

        data = new ArrayList<Map<String,Object>>();
        //适配器
        simpleAdapter = new SimpleAdapter(this,data,android.R.layout.simple_list_item_2,new String[]{"names","phones"},new int[]{android.R.id.text1,android.R.id.text2});
        lv_main_list.setAdapter(simpleAdapter);
    }

    public void getContacts(View view){
        Cursor cursor=cr.query(Uri.parse("content://com.android.contacts/raw_contacts"),null,null,null,null);
        while(cursor.moveToNext()){
            Map<String,Object> map=new HashMap<String,Object>();
            int id=cursor.getInt(cursor.getColumnIndex("_id"));
            String displayName=cursor.getString(cursor.getColumnIndex("display_name"));
            Log.i("test",id+" "+displayName);
            map.put("names",displayName);

            //根据联系人获取联系人数据
            Cursor cursor2=cr.query(Uri.parse("content://com.android.contacts/raw_contacts/"+id+"/data"),null,null,null,null);
            while(cursor2.moveToNext()){
              //  int type=cursor2.getInt(cursor2.getColumnIndex("mimetype_id"));
                String type=cursor2.getString(cursor2.getColumnIndex("mimetype"));
                String data1=null;
                if ("vnd.android.cursor.item/phone_v2".equals(type)){
                    data1 = cursor2.getString(cursor2.getColumnIndex("data1"));
                    Log.i("test","   "+type+" "+data1);
                    map.put("phones",data1);
                }
            }
            data.add(map);
        }
        //通知适配器发生改变
        simpleAdapter.notifyDataSetChanged();
    }
}

布局文件(activity_main.xml)


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="Http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:orientation="vertical"
    tools:context="com.example.administrator.myapplication.MainActivity">

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="获取所有的联系人"
        android:onClick="getContacts"
        />
    <ListView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/lv_main_list"

        ></ListView>
</LinearLayout>

需要在清单文件上配置联系人的权限(AndroidManifest.xml)


<uses-permission android:name="android.permission.READ_CONTACTS" />

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: Android利用ContentProvider获取联系人信息

本文链接: https://www.lsjlt.com/news/157280.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Android利用ContentProvider获取联系人信息
    本文实例为大家分享了Android利用ContentProvider获取联系人信息的具体代码,供大家参考,具体内容如下 在写代码前我们首先看一下运行的效果 运行效果如下: 点了获取...
    99+
    2024-04-02
  • Android ContentProvider实现获取手机联系人功能
    在之前项目中有用到关于获取手机联系人的部分,闲置就想和大家分享一下,话不多说,上代码:java部分:package com.example.content; import android.content.ContentResolver; ...
    99+
    2023-05-30
    android contentprovider 联系人
  • 如何在Android应用中利用Intent实现获取联系人的信息
    今天就跟大家聊聊有关如何在Android应用中利用Intent实现获取联系人的信息,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Intent的使用intent是一个好东西他可以启动A...
    99+
    2023-05-31
    android intent
  • android中是如何获取联系人所有信息的
    这篇文章将为大家详细讲解有关android中是如何获取联系人所有信息的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。工具类:package com.example.test;imp...
    99+
    2023-05-30
    android
  • Android利用ContentProvider读取短信内容
    本文实例为大家分享了Android利用ContentProvider读取短信内容的具体代码,供大家参考,具体内容如下 首先,我们来看下运行效果 运行效果如下: 展示短信内容的效果如...
    99+
    2024-04-02
  • Android如何利用ContentProvider读取短信内容
    今天就跟大家聊聊有关Android如何利用ContentProvider读取短信内容,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。首先,我们来看下运行效果运行效果如下:展示短信内容的...
    99+
    2023-06-25
  • android微信授权获取用户个人信息代码
    微信官方文档API:https://developers.weixin.qq.com/doc/oplatform/Mobile_App/WeChat_Login/Developmen...
    99+
    2024-04-02
  • android微信授权怎么获取用户个人信息
    本篇内容主要讲解“android微信授权怎么获取用户个人信息”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“android微信授权怎么获取用户个人信息”吧!微信官方文档API:https://de...
    99+
    2023-06-22
  • Android 中怎么利用ApplicationInfo获取应用程序信息
    这篇文章给大家介绍Android 中怎么利用ApplicationInfo获取应用程序信息,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Android ApplicationInfo 应用程序信息1、简述1 ...
    99+
    2023-05-30
    android
  • Android中是如何获取手机联系人的
    这篇文章给大家介绍Android中是如何获取手机联系人的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Android 获取系统联系人信息的实例一、获取手机联系人姓名及手机号//跳转到系统联系人应用 Inten...
    99+
    2023-05-30
    android
  • Android使用AsyncQueryHandler实现获取手机联系人功能
    利用AsyncQueryHandler能异步任务获取手机联系人,增加用户体验,使用起来也很方便。不多说,上干货。布局文件main.xml<?xml version="1.0" encoding="utf-8"?>...
    99+
    2023-05-30
    android asyncqueryhandler 联系人
  • Android cpu信息获取/修改
    CPU信息查看 通过 cat proc/cpuinfo 查看 processor : 7BogoMIPS : 38.40Features : fp asimd evtstrm aes pmull sh...
    99+
    2023-09-30
    android
  • android调用webservice接口获取信息
    我的有一篇博客上讲了如何基于CXF搭建webservice,service层的接口会被部署到tomcat上,这一篇我就讲一下如何在安卓中调用这些接口传递参数。在lib中放入ksoap2的jar包并导入在xml 配置文件中加入:<!--...
    99+
    2023-05-30
    android webservice 接口
  • javascript中怎么利用ajax获取信息
    这篇文章给大家介绍javascript中怎么利用ajax获取信息,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。 Client端代码如下: <html...
    99+
    2024-04-02
  • 如何在Android中获取系统储存信息
    这篇文章给大家介绍如何在Android中获取系统储存信息,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。获取SD卡上的储存信息:    private String&nb...
    99+
    2023-05-30
    android
  • springboot获取登录用户的个人信息
    在Spring Boot中,获取登录用户的个人信息通常需要使用Spring Security框架来进行身份认证和授权。Spring Security提供了一个名为SecurityContextHolder的上下文对象,它包含了当前请求的身份...
    99+
    2023-09-16
    spring boot spring java
  • Android应用中怎么获取联系人的姓名与电话
    这期内容当中小编将会给大家带来有关Android应用中怎么获取联系人的姓名与电话,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。实现代码:<&#63;xml version="1.0...
    99+
    2023-05-31
    android roi
  • Python使用psutil获取系统信息
    psutil模块 用Python来编写脚本简化日常的运维工作是Python的一个重要用途。在Linux下,有许多系统命令可以让我们时刻监控系统运行的状态,如ps,top,free等等...
    99+
    2024-04-02
  • Android之 获取定位信息总结
    一,概述: 1  android原生是有定位api的,但稳定性和准确度远远不够,所以通常需要借助三方SDK获取位置信息 2 国内SDK选择性较多,百度,腾讯,高德等定位api,但都是需要在平台建立应用,配置key的,包括基础的定位。 3 国...
    99+
    2023-09-11
    android
  • 利用Shell脚本获取服务器信息
    本篇内容介绍了“利用Shell脚本获取服务器信息”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!此脚本已经在ubuntu以及centos版本上...
    99+
    2023-06-09
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作