自己制作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
如果你对出版业和数字化出版领域有一定了解,那么你就会知道,数字出版越来越火爆。自从2007年第一台iPad问世以来,数字出版开始改变出版业的格局,也给创新型企业提供了更多的机会。数字出版包含的范围很广,包括图书、报刊、杂志、漫画、文学作品集等。随着数字出版
2023-06-05
自己做动画的app
做动画是一个复杂的过程,需要掌握许多技能和工具,而自己做动画的app则为我们提供了一个方便快捷的途径,让我们只需要在手机上完成动画,而无需购买专业的软件或硬件设备。下面将为您详细介绍自己做动画的app的原理和功能。自己做动画的app的原理自己做动画的app
2023-06-05
怎样做销售自己产品的app
随着移动互联网时代的推进,越来越多的企业开始意识到要将自己的销售业务转移到移动端。为此,许多企业开始使用销售自己产品的App,以便更好地将自己的产品销售给目标客户,并吸引更多的用户。那么,如何做销售自己产品的App呢?本文将从以下几个方面进行详细介绍。一、
2023-06-05
怎么制作自己的app并上架手机上的软件
要制作自己的app并上架手机上的软件,需要进行以下步骤:第一步,确定app的需求和功能。这个步骤需要考虑到app的基本功能,定位用户类型,设计用户体验等,建议多方面参考市场调研和用户反馈,输出产品需求文档。第二步,找到适合自己的制作平台。制作平台分为三类:
2023-06-05
手机app开发自己做
随着智能手机的普及,现在的手机不再只是通讯工具,已经成为人们日常生活中必不可少的一部分。而手机APP也是随之迅速发展起来。随着APP市场的日渐兴旺,APP开发已经成为越来越多人关注的领域。本文就将介绍如何通过自己动手开发手机APP,为大家提供初步了解和实践
2023-05-31
如何制作自己的购物app
要制作一个自己的购物App,首先需要明确的是该App的目标用户群体和核心功能。其次就是进行技术选型和架构设计,最后进行开发测试和上线发布。1. 目标用户群体和核心功能首先,我们需要明确目标用户群体,包括用户的地区、消费力、购物偏好等等。在此基础上,我们需要
2023-05-30
免费自建手机app
随着信息技术的不断发展,移动端的应用市场如雨后春笋般涌现,无论是在Android还是IOS平台上,每个人都可以找到满足自己需求的海量App应用。无可厚非的是,一部分人的需求确实无法在市面上找到相应的应用。若干年前,自建手机App需要掌握一定编程技术才能实现
2023-05-30
酷狗手机app删除自建歌单文件夹在哪里
在酷狗手机app中删除自建歌单文件夹的方法如下:1. 打开酷狗手机app,点击右下角“我的音乐”。2. 进入“我的音乐”页面后,下拉页面,找到“本地音乐”部分,点击右侧的“编辑”按钮。3. 在“编辑”模式下,找到要删除的自建歌单文件夹,点击文件夹右侧的“-
2023-05-30
开发者如何注销自己的app
当开发者发布他们的应用程序时,他们通常会想要让应用程序一直可用,但在某些情况下,注销应用程序可能是必要的。例如,开发者可能需要移交应用程序的所有权或者应用可能不再符合他们的业务目标。在这篇文章中,我们将讨论如何注销应用程序,包括它的原理和详细介绍。注销应用
2023-05-30
app自助开发
App自助开发已经成为一种趋势,不仅在大型IT公司和开发者圈子内得到广泛应用,甚至在许多小型企业和中小企业中也开始流行。App自助开发是什么?它背后的原理是什么?在此,我想为大家介绍一下关于App自助开发的一些基础知识和原理。什么是App自助开发?App自
2023-05-30
app自己做充值提现违法吗
在移动互联网的大环境下,越来越多人开始自学编程,希望通过开发软件或者app来实现自己的想法。其中一个最基本的功能就是实现充值提现的功能。不过,“app自己做充值提现违法吗?”这个问题引起了很多人的关注,下面我们来探讨一下这个问题。首先,我们需要明确,如果你
2023-05-30
©2015-2021 自建app开发平台 www.appbyme.cn 蜀ICP备17005078号-1