自己制作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好还是开发好
建立一个应用程序需要很多工作。需要确定要创建应用程序的目的,功能和需求。一旦确定了这些因素,接下来必须决定是自建还是开发。两者在很多方面都有优点和缺点,下面让我们分别看看。自建应用程序的优点:1. 灵活性:自己搭建应用程序可以灵活地根据自己的需求来配置应用
2023-06-05
自己做的app怎么运行起来
在移动互联网时代,手机APP已经成为人们日常生活中不可或缺的一部分,而越来越多的人开始尝试为自己的想法开发一个属于自己的APP。但是,如何才能让自己设计的APP在手机上运行起来呢?这里我们来介绍一下自己做的APP怎么运行起来的原理和步骤。首先,要完成开发一
2023-06-05
自学编程开发app可行吗
绝对可行!现代技术已经驱动了自我教育。就像 John F. Kennedy 所说的,“发明未来的最好方法就是创造它”。人们不必再去学院和大学花费大量的时间和金钱就可以学习编程开发app了。本文将详细介绍自学编程开发app的原理和方法。首先,让我们明确一个概
2023-06-05
自己怎么开发卖菜app
随着人们对生鲜食材安全和营养的日益关注,卖菜App应运而生,既方便了用户购买新鲜的食材,也给农户带来了更大的销售市场。本文将介绍开发卖菜App的原理和相关技术。一. 卖菜App的原理卖菜App最基本的功能是实现农产品的线上销售,其原理可以分成以下几个部分:
2023-06-05
用哪种app可以制作自己文集
现如今,随着智能手机和平板电脑的普及,移动互联网时代已经到来。我们可以在手机上看新闻、听音乐、看视频、玩游戏等等。同时,越来越多的人开始选择手机阅读,而移动端APP成为了不少人的首选。对于网站博主、写手或者喜欢写作的人来说,写作平台是必不可少的,因为写作平
2023-06-05
用自己的电脑做app服务器
如果你想在自己的电脑上搭建一个 app 服务器,你需要了解一些基本的五花八门的 PHP 后端架构以及如何使其在你的电脑上运行。 为了把它做好,你需要有一些基本的计算机科学知识,以及一些技能和工具来调试代码和处理网络。这篇文章就是为了详细介绍如何在你自己的电
2023-06-05
用户自己做的app安全吗可靠吗
用户自己做的app安全性问题是一个值得关注的话题。如果你是一名开发者或有开发经验的使用人员,那么自己开发应用可能是个好主意,但是对于其他用户,建议下载官方应用。下面我将从几个方面详细介绍用户自己做的app的安全性问题:1.开发人员没有经验对于没有开发经验的
2023-06-05
如何制作一个自己的聊天app
制作一个自己的聊天App需要关注以下几个方面:1.确定目标用户群体和需求:在制作自己的聊天App之前,需要确认自己想要为哪些用户群体提供服务。如普通用户、企业员工、专业人士等。同时,还需确定需求,是否需要支持视频通话、语音消息、语音识别等特定功能。2.选择
2023-05-30
免费自己制作app程序
制作自己的移动应用程序是一项令人兴奋的工作。不过,许多人认为必须具备很高的编程技能才能制作出一个应用程序。事实上,现在已经有一些工具可供使用,使得制作应用程序变得容易和简单。接下来,我将向您介绍一些制作应用程序的工具以及它们的工作原理。1. Appy Pi
2023-05-30
可以自己制作键盘皮肤的app
制作键盘皮肤的app需要了解两个关键技术:键盘输入和UI设计。在这篇文章中,我们将深入探讨这两个方面,帮助你理解如何制作自己的键盘皮肤app。键盘输入首先,你需要了解键盘输入。键盘输入是指用户使用键盘进行输入时产生的数据。在app中,键盘输入可分为两个步骤
2023-05-30
app自助平台制作
App自助平台是一种通过“模板化”的方式,提供用户自主创建应用程序的服务,用户可以通过自助平台选择模板、自定义设计、添加内容、构建应用程序,并发布到应用商店,轻松完成应用程序的开发。当下,越来越多的企业将自助平台作为其数字化转型的重要手段之一,特别是小型企
2023-05-30
app开发基础自学
随着移动互联网的迅速发展,app 应用越来越普及,app 开发也成为越来越多人的职业选择。而自学 app 开发需要掌握的基础知识有哪些呢?一、移动端操作系统介绍在开始学习 app 开发之前,首先要了解的是移动端的操作系统。目前市面上主要的操作系统有 iOS
2023-05-30
©2015-2021 自建app开发平台 www.appbyme.cn 蜀ICP备17005078号-1