自己制作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. 抖音: 抖音被誉为2050年全球最大的社交网络,其背后的算法可谓是黑科技的代
2023-06-05
自建app商城卖产品
在现代移动互联网时代,手机APP已经成为人们生活中不可或缺的一部分。与此同时,越来越多的人开始通过手机APP购买产品和服务。因此,自建APP商城已经成为许多企业、个人及经营者的优秀选择。以下是一些自建APP商城的原理和详细介绍。一、自建APP商城的原理自建
2023-06-05
自己做字符的app
做字符的app,即让用户可以通过输入文字或选择图片,将其转化为以字符或符号为基本单位的艺术作品。这类app的原理其实比较简单,主要分为以下几个步骤:1. 图像处理无论用户通过输入文字或选择图片,首先需要将其转化为计算机可读的图像数据。输入文字一般比较简单,
2023-06-05
自己开发app要学多久
自己开发一款App需要学习的时间会根据个人的学习能力和经验不同而有所差异。然而,一般来说,学习开发一款成熟的App从零基础开始大概需要6个月到一年不等的时间。下面将为大家详细介绍开发一个App所需要的主要知识和技能。1. 编程语言和开发环境的学习开发一个A
2023-06-05
自己制作app软件步骤
制作app软件是一件非常有挑战性的任务,尤其是对于没有任何编程和开发经验的人来说。但是现在,有许多的工具和平台使得自己制作app软件成为可能,本文将介绍一些基本的步骤和原理,以帮助初学者应对这一挑战。第一步: 确定应用的目标市场和目标用户。在开始开发app
2023-06-05
怎么自己做一个简易卖东西的app
如果你正在思考怎样创建一个简单的用于出售物品的手机应用程序,这里提供一些基础的原则、提示和技巧,让你可以尽可能的做到简单易用和高效。1. 应用程序的目标和功能在开始设计应用程序之前,需要明确它的主要目标和功能。确定好应用程序的销售对象(例如:个人用户、小企
2023-06-05
张翰自己做app
张翰是一位有着广泛知识背景的明星,他在互联网领域也非常嗅觉敏锐,因此他开始学习开发自己的应用程序。他的应用程序可以帮助他与他的粉丝分享更多的内容,并与他们保持联系。在下面的文章中,将详细介绍张翰制作自己的应用程序的原理和步骤。首先,创建一个应用程序需要掌握
2023-06-05
阅读app怎么自己制作书源网站
阅读app是一个让用户可以从多个源获取书籍的阅读应用。如果您想要访问一个未曾被支持的站点,您需要制作自己的书源。这篇文章将为您介绍制作书源的原理和详细步骤。一、书源原理书源可以理解为一个源代码。和编写一个网站的源代码一样,书源代码也需要您了解一些专业知识和
2023-06-05
社交app自己开发
社交app是当今互联网领域的热门应用之一,而自己开发一个社交app也是很多开发者和创业者关注的话题。本文将介绍社交app的开发原理和详细步骤。一、社交app的开发原理一款社交app最重要的就是用户交互,必须具备以下基本功能:1. 用户注册登录:用户需要注册
2023-05-31
免费自己制作的app
如今,制作自己的手机应用程序已经成为一件非常流行的事情。随着互联网技术的发展,许多人发现自己可以通过一些简单的工具和技巧,轻松地开发自己的应用程序。这些工具和技巧使得开发应用程序的门槛降低了许多。本文将探讨如何从零开始免费制作自己的手机应用程序。首先,我们
2023-05-30
app自己怎么制作
随着智能手机普及率的不断上升,越来越多的人开始对如何制作自己的App产生兴趣。但是,如果你不是专业的开发人员并没有接触过编程,你可能会感到非常迷惑和困惑。然而,现在有很多软件和工具可以帮助非专业人员制作自己的App。本文将介绍这些工具以及App制作的原理。
2023-05-30
app外包公司好还是自建app团队好
在互联网时代,移动应用成为了人们生活中不可或缺的一部分,而移动应用开发的需求也越来越旺盛。在这种情况下,很多企业出于效率、节约成本等考虑,会选择外包公司来完成移动应用的开发,而一些大型企业则会自建移动应用开发团队来实现移动应用的开发。那么,app外包公司好
2023-05-30
©2015-2021 自建app开发平台 www.appbyme.cn 蜀ICP备17005078号-1