自己制作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,并详细阐述其
2023-06-05
自己做二维码app需要多少钱呢
二维码应用越来越广泛,新兴的移动支付领域更是需要二维码应用作为支付标识,市场前景广阔。而自己做二维码app需要多少钱呢?这个问题不是那么容易回答,因为它涉及很多细节、方面和过程。本文将从技术、人力、成本、效益等方面来看待这个问题。一、技术成本二维码app的
2023-06-05
自己做个app卖东西
在如今的电子商务时代,APP已经成为了商家们推广产品和服务的重要平台。如果你有自己的产品或服务,并且想要自己开发一个APP来进行销售,这里为大家介绍如何制作一个APP卖东西的方法。第一步:确定自己的产品或服务首先,你需要确定自己的产品或服务,确定好要卖什么
2023-06-05
自己设计装修的app开发
设计一套自己的装修方案是件比较繁琐的事情,涉及到的装修材料和家具样式选择等都需要一定的专业知识和经验。随着科技的不断发展,设计一个能够帮助人们自己搭配的装修方案的app也变得越来越有可能。那么,这样的app应该如何开发呢?首先,一个好的装修设计app应该包
2023-06-05
自己用代码做一个app
如果你是一个有一定编程基础的开发者,你可以尝试自己用代码做一个app。从技术角度来看,一个基本的app由前端(用户界面)、后端(服务端逻辑)、数据库三部分构成。下面我将简单介绍如何完成一个简单的app。## 1. 确定你的需求和功能在开始开发之前,你需要明
2023-06-05
自己开发的app注销方法
在开发一个应用程序时,注销是一个非常关键的功能。当用户想要注销或者切换帐号时,应用程序需要清除所有的用户数据,重置所有的设置以及取消所有的登录凭据。这篇文章将向你介绍在开发应用程序时如何添加注销功能,让用户更加方便。在开发应用程序时,注销功能的主要目的是清
2023-06-05
自己制作app支付功能
移动支付在现代社会中已经成为了人们生活中不可或缺的一部分,而随着移动设备的普及和移动应用的蓬勃发展,自己制作APP支付功能也变得越来越重要。本文将在介绍移动支付的原理基础上,详细介绍制作APP支付功能的步骤。一、移动支付的原理移动支付实现的基本原理是将支付
2023-06-05
自贡app开发省心青岗科技
自贡是四川省一个充满活力的城市,具有许多吸引人的特点和潜力。近年来,自贡市政府通过鼓励创新和创业,吸引越来越多的投资和企业进入该城市。这也导致了许多企业需要全新的市场推广方法来吸引消费者和促进销售。目前,一种非常流行的方法是开发手机应用程序,称为App,这
2023-06-05
制作一款属于自己的app
要制作一款属于自己的APP,首先需要明确自己的目的和想要实现的功能,并进行设计和开发。1. 想法和目的:确定APP的功能和目标用户群体在开始制作APP之前,需要先确定自己的想法和目的,以及APP的功能和目标用户群体。这样才能确定APP的设计和开发方向。2.
2023-06-05
什么app可以自己做题库考试
现代人越来越注重知识的积累和提升,因此出现了很多的自学平台和教育辅助app,其中有一些app可以自己做题库考试,帮助用户进行自测和提高,让学习变得更加高效。这些app实现自己做题库考试的原理,通常是将大量的题目进行分类,用户可以选择需要学习的类别,然后再进
2023-05-31
平板手机自做伴奏app
平板手机自做伴奏app是一款非常实用的手机应用程序,主要通过各种功能模块与算法,实现对音乐伴奏的自动扫描、剥离和增强等操作,从而帮助音乐爱好者更加轻松地自己制作出一份完美的伴奏曲目。具体来说,平板手机自做伴奏app的原理和详细介绍可以如下阐述:一、声音采集
2023-05-30
0编程自己制作超市送货app
超市送货 app 是一种由超市联合开发的移动应用程序,可以帮助顾客在线上下单并选择送货或自取。它确保快速、安全和简单的购物途径,提供了一个容易使用的平台,消费者可以在任何时间访问,尤其是在繁忙的生活中。超市送货 app 的实现原理包括以下几个方面:1. 建
2023-05-30
©2015-2021 自建app开发平台 www.appbyme.cn 蜀ICP备17005078号-1