自己制作app获取联系人相册

随着移动互联网的快速发展,手机已经成为了我们日常生活中必不可少的工具之一。而移动应用(APP)的开发和使用也日益增多。一些应用需要获取用户的联系人和相册等隐私信息,这对于一些不知情的用户来说是非常危险的。那么,如果自己制作一个获取联系人和相册的APP,该如何实现呢?下面就为大家介绍一下相关的原理和具体实现步骤。

一、获取联系人

在Android系统中,可以通过ContentProvider实现对联系人信息的访问。ContentProvider类是Android系统提供的一种标准的数据共享方式,所有的数据都通过一个uri进行访问,并返回一个数据流。而联系人信息的uri为ContactsContract.Contacts.CONTENT_URI。我们可以直接通过以下 ContentResolver 对象的方法来获取联系人信息:

```java

ContentResolver cResolver = getContentResolver();

Cursor cursor = cResolver.query(

ContactsContract.Contacts.CONTENT_URI, null, null, null, null);

```

查询得到的cursor是一个数据流,其中包含了联系人的各种信息。其中,ContactsContract.CommonDataKinds.Phone类表示联系人的电话信息,ContactsContract.Contacts类表示联系人的基本信息。获取电话信息和基本信息的代码如下:

```java

if (cursor.getCount() > 0) {

while (cursor.moveToNext()) {

String id = cursor.getString(

cursor.getColumnIndex(ContactsContract.Contacts._ID));

String name = cursor.getString(

cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));

if (Integer.parseInt(cursor.getString(

cursor.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0) {

Cursor pCursor = cResolver.query(

ContactsContract.CommonDataKinds.Phone.CONTENT_URI,

null,

ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = ?",

new String[]{id},

null

);

if (pCursor.moveToNext()) {

String phoneNum = pCursor.getString(

pCursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));

Log.e("AAA", "id:" + id + ",name:" + name + ",phone:" + phoneNum);

}

pCursor.close();

}

}

}

cursor.close();

```

这样就可以获取到联系人的所有基本信息和电话信息。

二、获取相册

Android系统中提供了一种叫做MediaStore.Images.Media的接口,可以方便地访问手机的相册信息。我们可以通过以下代码获取到相册中所有的图片信息:

```java

ContentResolver cResolver = getContentResolver();

Cursor cursor = cResolver.query(

MediaStore.Images.Media.EXTERNAL_CONTENT_URI,

null,

null,

null,

MediaStore.Images.Media.DATE_MODIFIED

);

```

这里的EXTERNAL_CONTENT_URI表示的是SD卡上的图片,如果要获取内部存储的图片信息,可以将EXTERNAL_CONTENT_URI改为INTERNAL_CONTENT_URI。获取到Cursor后,我们可以通过遍历Cursor获取到所有的图片信息:

```java

if (cursor != null && cursor.getCount() != 0) {

while (cursor.moveToNext()) {

String title = cursor.getString(

cursor.getColumnIndex(MediaStore.Images.Media.TITLE));

String path = cursor.getString(

cursor.getColumnIndex(MediaStore.Images.Media.DATA));

long size = cursor.getLong(

cursor.getColumnIndex(MediaStore.Images.Media.SIZE));

Log.e("AAA", "title:" + title + ",path:" + path + ",size:" + size);

}

}

```

至此,我们已经成功地获取到了手机中的联系人和相册信息。但是在实际使用中,我们要充分考虑到用户隐私等方面的问题,尽量减小对用户隐私的侵犯。


相关知识:
最新免费自建app平台哪个好
随着移动互联网的快速发展,app已经成为现代人不可或缺的日常工具。自建app平台因其可完全定制、自主控制、更加个性化而越来越受到开发者和用户的喜爱。然而,对于刚刚入门的小白来说,如何选择和搭建一个最新免费自建app平台,还是一个不小的难题。本文将为大家介绍
2023-06-05
自己做外卖app
要自己做一个外卖app,需要掌握以下几个主要步骤:第一步:确定需求在开始之前,你需要明确自己的需求,自己要做的外卖app主要特点是什么,是否需要支持多平台使用,是否需要进行在线支付,是否需要自己独立开发分类等功能等等,这些都是你需要在开始做之前先确定明确的
2023-06-05
自己开发的外卖app怎么运营
开发外卖APP需要投入大量的时间和金钱,而运营则是一个更加漫长的过程。想要让自己的外卖APP发展壮大并赢得用户的青睐,需要付出不少的努力。下面,介绍一些外卖APP运营的原理和方法。1. 市场研究在完成外卖APP的开发后,首先需要进行市场研究。通过市场调研,
2023-06-05
自己开发外卖app怎么样赚钱
外卖app现在已经成为了人们日常生活中不可或缺的一部分,尤其是在疫情期间,外卖行业更是蓬勃发展。外卖app作为媒介桥梁,连接了消费者和商家,给人们带来了便利和舒适的用餐体验。自己开发外卖app也是一件非常有吸引力的事情,但是如何赚钱呢?下面我将从三个方面进
2023-06-05
自己制作销售战报免费的app
要创建一个免费的销售战报应用程序,需要考虑以下几个方面:应用程序架构,设计,数据库和逻辑。应用程序架构销售战报应用程序的基本结构应包括以下内容:1.视图层:这是用户界面,用户可以使用它来查看报告和输入数据。2.业务逻辑层:这是应用程序的核心。它包括数据分析
2023-06-05
自贡app软件定制开发预算
自贡是一座具有深厚文化底蕴的城市,随着互联网的发展,更多的人开始使用手机app来解决各种需求,因此自贡的app定制开发需求也越来越多。那么,自贡app软件定制开发预算怎么算呢?首先,需要明确的是,app定制开发的费用是非常高昂的。定制开发包含了策划、设计、
2023-06-05
自动拼单的app开发
自动拼单的app是一种非常实用的app,能够帮助用户自动拼单,以获得更低的价格和更优惠的优惠券等福利。下面将对这种app的原理和详细介绍进行说明。一、自动拼单app的原理自动拼单app的主要原理是基于集中采购的原理。在大量商品需要采购时,一般情况下,厂家或
2023-06-05
怎么样自己做个app
要自己做一个app,首先需要了解app的基本构成与原理。一般来说,一个app包含前端的界面部分、后端的逻辑部分以及数据存储的部分。以下是大致的步骤和流程:1.确定目标和功能在开始制作app之前,你首先需要确定这个app的最终目标是什么,设计好它的基本功能和
2023-06-05
糖果口袋app如何自己做
糖果口袋是一款非常流行的在线社交应用程序,它允许用户与朋友、家人以及其他人进行聊天、共享照片和视频以及发送语音消息等。如果你想学习如何自己制作糖果口袋App,你需要了解以下几点。1. 开发语言:糖果口袋是使用Swift语言开发的,如果你想自己开发糖果口袋,
2023-05-31
如何自己做字典app
字典app是现代生活中硬件普及的数字化形式。随着移动设备的普及,人们对于查阅学习资料的需求大大增加,也对字典app提出了更高的要求。本文将简单介绍如何自己做一个字典app。1.需求分析在开始开发字典app之前,我们必须确定需求。字典app的基本功能是检索单
2023-05-30
给自己做室内设计app
室内设计app的原理是利用计算机的渲染技术显示室内设计效果图,并允许用户根据自己的需求和喜好对图像进行修改和编辑。为了实现这个原理,室内设计app需要通过三个主要的步骤来产生最终的渲染图像。第一步是收集输入信息,这包括用户的房间大小、窗户和门的位置、墙壁和
2023-05-30
iphone开发app自用
开发iPhone应用程序可以是一个充满乐趣但有些复杂的过程,但如果你需要为自己的iPhone开发一款应用程序,这篇文章将会介绍一下这个过程的一些基础知识和步骤。首先,你需要了解的是,开发iPhone应用程序需要掌握几个基本领域,包括:1.编程语言--Obj
2023-05-30
©2015-2021 自建app开发平台 www.appbyme.cn 蜀ICP备17005078号-1