自己制作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的原理很简单,就是通过App界面方便、快捷地使用户上传自己
2023-06-05
做一个自己的app
随着智能手机的普及和移动互联网的快速发展,APP(应用程序)已经成为人们生活中必不可少的一部分。如果你也想要做一个属于自己的APP,那么本文将会为你介绍一些常见的APP开发方式和过程。APP开发方式1.原生应用开发:原生应用是专门为某一平台开发的,在And
2023-06-05
自己开发一款app软件需要多少钱
开发一款app软件所需要的费用取决于多个因素,如应用程序的类型、功能、设计、用户体验等等。这些因素将对开发、测试和推广应用程序产生深远的影响,因此了解这些因素的影响是非常重要的。下面是开发一款普通app所需要的费用:1. 应用程序类型应用程序类型是开发费用
2023-06-05
自己制作单词集的app
自己制作单词集的app可以帮助用户更好地学习和掌握单词。本文将介绍制作app的原理和详细步骤。1. 确定目标用户和功能需求在制作app之前,你需要明确目标用户和他们的学习需求。比如,你想要制作一款英语单词学习app,目标用户可以是初学者或者需要提高词汇量的
2023-06-05
自己制作减肥餐的app
减肥餐的制作需要基于人体基础代谢率和减肥目标设置营养摄入标准,同时还需要考虑到人体对不同食材的吸收和消化能力。为了满足个性化的减肥需求,制作一款自己的减肥餐App可以帮助用户采取更加有针对性的减肥计划。以下是该App的原理和详细介绍。1.目标设置和基础代谢
2023-06-05
自贡工业app开发
自贡市以其盛产盐的独特经济条件在中国工业史上独具特色。随着时代的发展,自贡市的传统工业正面临新的挑战,也迫切需要数字化转型升级。因此,自贡工业app的开发变得尤为重要。在此,我们将介绍自贡工业app的原理和详细信息。一、什么是自贡工业app自贡工业app是
2023-06-05
怎么自己制作古诗鉴赏app
要自己制作古诗鉴赏APP,需要掌握一些基础知识和技能。下面就来介绍一下制作古诗鉴赏APP的原理和具体方法。1. 原理古诗鉴赏APP的原理是利用程序开发语言和开发工具,将所选取的古诗文本、注释、翻译、解释、评析等相关内容进行处理,将其整理成一个具有交互性、可
2023-06-05
怎么制作自己的购物平台app
现如今,在线购物已经成为人们消费商品的常用方式,消费者可以通过各种电商平台购买自己需要的商品,而作为一个企业主,如果你想打造自己的购物平台,提供给消费者一个更加方便的购物渠道,那么制作一款购物APP就相当重要了。接下来,就让我们一起来了解制作购物APP的原
2023-06-05
想自己做产后恢复用什么app
在产后恢复的过程中,适当的运动和营养摄入是非常重要的。有很多的手机应用程序可以帮助产后妈妈们实现恢复目标,其中 “多美妈妈” app 可以说是不错的选择。1. 多美妈妈多美妈妈是一款可帮助产后妈妈进行健康管理的手机应用程序。该 app 前身为“妇女健康管理
2023-05-31
什么app可以自己做成网站的
如果你想把自己的App做成网站,那么实现这个目标有两种常见的方式。以下将详细介绍这两种方法的原理和实现方式。一、PWA技术(渐进式Web应用程序)PWA 全称 Progress Web App,即渐进式Web应用程序,是一种将Web技术构建出类似原生应用程
2023-05-31
可以自己做对话形式的app
对话式的APP在现在这个社会中已经越来越受到欢迎。这种应用程序的优点是可以向用户提供一种亲密的沟通方式,并且可以与用户进行密切的互动。因此,如果你想自己做一个对话API,那么本文将向你介绍如何实现它。首先,实现对话API的第一步是什么呢?显然,我们需要一个
2023-05-30
开发自己的一个app
开发自己的一个app,需要具备一定的编程基础和知识储备。下面将介绍一些开发自己的app的基本步骤和原理。一、实现你的创意首先,你需要有一个创意或想法。创意可以来自于自己的生活、工作和兴趣爱好,也可以来自于市场上的需求和热点。无论哪种方式,创意都应该是切实可
2023-05-30
©2015-2021 自建app开发平台 www.appbyme.cn 蜀ICP备17005078号-1