Android开发学习:[21]安卓查询联系人和电话

2025-10-23 11:16:27

1、首先我们打开我们下载安装好的android studio,然后新建一个工程如下

Android开发学习:[21]安卓查询联系人和电话

2、然后我们在layout下面对app界面进行布局编写

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"

    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"

    android:paddingRight="@dimen/activity_horizontal_margin"

    android:paddingTop="@dimen/activity_vertical_margin"

    android:paddingBottom="@dimen/activity_vertical_margin"

    tools:context="com.basillee.asus.demo.MainActivity2">

    <TextView

        android:id="@+id/result"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:textSize="25dp"

        android:textColor="@android:color/black"

        />

</RelativeLayout>

效果如design视图如下:

Android开发学习:[21]安卓查询联系人和电话

3、然后我们编写后台代码如下:

package com.basillee.asus.demo;

import android.content.ContentResolver;

import android.database.Cursor;

import android.os.Bundle;

import android.provider.ContactsContract;

import android.support.v7.app.ActionBarActivity;

import android.widget.TextView;

public class MainActivity2 extends ActionBarActivity {

    private String[]columns={ ContactsContract.Contacts._ID, ContactsContract.Contacts.DISPLAY_NAME, ContactsContract.CommonDataKinds.Phone.NUMBER

                               , ContactsContract.CommonDataKinds.Phone.CONTACT_ID};

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main_activity2);

        TextView textView= (TextView) findViewById(R.id.result);

        textView.setText(getQueryData());

    }

    private String getQueryData() {

        StringBuilder stringBuilder=new StringBuilder();

        ContentResolver resolver=getContentResolver();

        Cursor cursor=resolver.query(ContactsContract.Contacts.CONTENT_URI,null,null,null,null);

        while(cursor.moveToNext()){

            int idIndex=cursor.getColumnIndex(columns[0]);

            int displayNameIndex=cursor.getColumnIndex(columns[1]);

            int id=cursor.getInt(idIndex);

            String disPlayName=cursor.getString(displayNameIndex);

            Cursor phone=resolver.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null,columns[3]+"="+id,null,null);

            while(phone.moveToNext()){

                int phoneNumberIndex=phone.getColumnIndex(columns[2]);

                String phoneNumber=phone.getString(phoneNumberIndex);

                stringBuilder.append(disPlayName+";"+phoneNumber+"\n");

            }

        }

        cursor.close();

        return stringBuilder.toString();

    }

}

Android开发学习:[21]安卓查询联系人和电话

4、写完之后我们要记得在androidmainifast.xml添加应用权限

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

Android开发学习:[21]安卓查询联系人和电话

5、然后我们运行此项目,点击上面的运行按钮

Android开发学习:[21]安卓查询联系人和电话

6、然后我们可以看到结果如下,显示了模拟器里面的联系人姓名和电话号码

Android开发学习:[21]安卓查询联系人和电话

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢