自己制作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的介绍和原理分析。1. LinkedInLinkedIn是专门为职场人士设计的一个社交平台,是人们在职业领域展示
2023-06-05
自建通讯录app
随着移动设备的普及,人们越来越离不开手机,手机中的通讯录也就显得尤为重要。而现在很多APP中的通讯录功能并不尽如人意,因此自建通讯录APP成为了很多人的需求。下面我将为大家介绍自建通讯录APP的原理和详细步骤。一、原理通讯录APP其实就是一个联系人管理的工
2023-06-05
自己做菜卖给别人的app
随着现代生活的节奏加快,越来越多的人没有时间或不喜欢自己做饭,而是选择外卖或快餐。但是外卖的食材和口感无法保证,在营养和健康方面也有问题。这时,自己做饭并卖给别人的服务就出现了。下面我们来介绍一下如何利用app进行这项业务。1.注册账户在开发这款应用之前,
2023-06-05
自己做一个黄金回收app好吗
做一个黄金回收app可以说是一个非常不错的想法,这个app可以方便用户将闲置的黄金首饰换成现金,也能够为回收黄金的商家提供方便快捷的服务。下面我们来详细介绍一下制作一个黄金回收app的原理以及具体的步骤。1.梳理业务需求在制作一个黄金回收app之前,首先要
2023-06-05
自学俄语app学做什么
自学俄语是现代人接触世界外部讯息的直接途径之一,俄语已成为世界语言之一,了解俄语能够帮助我们更好地了解俄罗斯的文化、历史、政治等领域,同时也能够提升我们的人文素养和跨文化交流能力。针对自学俄语用户,自学俄语app是一个很好的选择,下面将介绍自学俄语app的
2023-06-05
自主开发的app叫什么名字
我开发的应用名为“乐学宝”,是一款专注于教育领域的移动应用。通过乐学宝,用户可以学习各种领域的知识,包括但不限于数学、物理、化学、生物、历史、地理、语文等。乐学宝的主要特点是基于人工智能技术的智能学习推荐系统。在用户注册并登录后,我们将通过大数据分析用户的
2023-06-05
自己动手做个仓管app
仓储管理是现代企业运营中非常重要的一个环节,它对于企业的物流管理以及产品质量保障起到了至关重要的作用。传统的仓储管理过程中常存在人为的疏漏和过程复杂等问题,这使得很多企业开始寻求更高效的数字化仓储管理方法,其中,通过自己动手做一个仓管app来实现数字化仓储
2023-06-05
自己制作app软件教程手机
在当今社会的数字化时代,移动应用程序(简称APP)不仅成为人们日常生活中的必要品,也成为了创业者们的新宠。那么,如果你有一份自制APP的计划,接下来我将向你介绍如何实现。1.了解市场需求和目标用户在自制一款APP之前,你必须确定该应用的目标市场和目标用户。
2023-06-05
自己做app可以赚钱
自己做APP可以赚钱。这一点在目前移动互联网时代已经毋庸置疑了。众所周知,移动互联网已经成为了人们生活的一部分,人们在移动互联网上浏览资讯、获取信息、进行购物、交友、娱乐等等,而APP就成为了人们使用移动互联网的最主要渠道之一。随着移动互联网行业的火爆,自
2023-06-05
app可以自己动手制作主题
现代移动应用程序(APP)设计已经成为一门很受欢迎的艺术。然而,我们常常忽略了一个非常重要的元素,那就是APP主题设计。虽然市面上有许多漂亮的主题,但是很多人还是希望定制自己的主题。在这篇文章中,我们将讨论如何自己动手制作APP主题。制作APP主题的原理是
2023-05-30
app开发商自己的分发平台搭建
随着移动互联网的普及,越来越多的企业或个人开始开发自己的移动应用程序(App)。但是,如何让更多的用户下载和使用这些应用程序成为了一个问题。为此,开发商可以搭建自己的分发平台,通过自己的平台来分发应用程序。下面将详细介绍搭建自己分发平台的原理和步骤。一、分
2023-05-30
5分钟app开发自学
随着移动端用户数量的增加,越来越多的企业和开发者都开始涉足移动应用开发领域。然而,对于刚入门的开发者来说,学习一门全新的编程语言、掌握一套复杂的开发框架还需要花费很长时间。本文将介绍一种简单但有效的方法,可以让你在短时间内开发出符合个人需求的小型应用。5分
2023-05-30
©2015-2021 自建app开发平台 www.appbyme.cn 蜀ICP备17005078号-1