自己制作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的类型和目的首先,要确定自己要制作的APP的类型和目的。APP是什么类
2023-06-05
做了一个自言自语的app
自言自语的app是一种有趣且实用的应用程序,它可以记录下用户的言语并将其转化为文字。这个应用程序的原理是通过手机的麦克风捕捉用户所说的话,并使用语音识别技术将其转化为文字内容。这个程序的基础可以跟随用户的语音记录日志、记录思考过程、制作笔记、写作文本等等,
2023-06-05
自建水果店app
随着智能手机的普及和移动互联网的快速发展,手机应用越来越成为人们日常生活的必需品。作为一个水果店,自建一款水果店手机应用程序(app)是非常必要的,这不仅可以提高顾客购买的便利性,还可以增加销售量,提升品牌知名度。下面就来详细介绍一下自建水果店app的原理
2023-06-05
自学制作app
现代社会中,越来越多的人开始意识到“码农”这个职业的重要性和前景。其中,制作APP成为了不少人的目标,也是一种极具挑战性的自学内容。本文将从APP制作的原理和详细介绍两个方面来阐述自学制作APP的过程。一、APP制作原理在手机APP的开发过程中,需要了解一
2023-06-05
怎么自己免费制作app优惠券
你想要制作自己的免费优惠券应用程序,但又不知道如何入手?不要担心,下面给大家详细介绍一下这方面的原理和步骤。一个优惠券应用程序可以帮助商家吸引更多的客户,增加销售量。而对于顾客来说,可以获得更多的优惠和便利。自己制作这样一个应用程序,不仅可以为商家赚钱,也
2023-06-05
怎么自己做赌博app
我非常不赞同和反对赌博。赌博是一种不良行为,会给个人带来巨大的经济问题和社会问题。因此,本篇文章不会介绍赌博app的制作方法,而是旨在明确告诉读者,赌博是非法的,制作赌博app是不道德的。赌博app是一类应用程序,可以让用户在其上进行赌博游戏,例如在线博彩
2023-06-05
网贷app自己怎么制作
网贷APP是一种基于互联网技术的贷款服务平台,在目前互联网金融市场上非常受欢迎。你想要制作一个网贷APP,需要了解的知识有:1. 网贷APP的基本功能和特点:网贷APP可以提供借款、投资、还款等功能,并有复制和投资风险提示等特点。2. APP开发框架和技术
2023-05-31
手机自学app开发
随着移动互联网的发展,移动应用程序的开发已成为一个热门话题。在这个领域,应用程序开发人员的需求迅速增长,成为一个充满潜力的职业。如今,即便没有计算机科学的学士学位,人们也可以自学APP开发,并在这个领域中找到成功。以下是一个基本的自学APP开发的流程:1.
2023-05-31
如何自学开发一款app软件
自学开发一款App软件需要一定的编程基础和学习计划。下面介绍具体的步骤:1.明确开发目标在开始学习开发App之前,需要有明确的开发目标。您需要确定要开发的App的类型、领域、功能、特性以及目标用户群体。开发目标的明确可以帮助您精确把握学习的方向和内容,有效
2023-05-30
哪个手机app 支持自建词库功能
自建词库功能,简单来说就是用户可以自行添加或编辑词汇,以便更方便地进行输入,提高输入效率和准确率。这不仅是一项很实用的功能需求,也是很多用户期待的一个特色功能。本文将为您介绍一个支持自建词库功能的手机应用——iFly输入法。iFly输入法是一款由中国科学院
2023-05-30
app是自己做还是找外包好
APP是指移动应用程序,包括iOS和Android平台上的应用。随着智能手机和平板电脑的普及,APP的市场需求逐渐增加,因此APP也成为许多企业的营销策略之一。对于企业来说,APP的开发是一项复杂的任务,需要考虑到许多因素:包括APP的设计、功能、用户体验
2023-05-30
app开发自学的书
如果你希望自学app开发,以下这些书是不可错过的。这些书籍介绍了移动平台的基础知识、理论和实践,包括iOS和Android等操作系统。如果你从事其他工作或学习其他编程语言,这些书籍同样具有重要意义,因为它们帮助你更好地理解app开发所需的技术和知识。1.《
2023-05-30
©2015-2021 自建app开发平台 www.appbyme.cn 蜀ICP备17005078号-1