自己制作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);

}

}

```

至此,我们已经成功地获取到了手机中的联系人和相册信息。但是在实际使用中,我们要充分考虑到用户隐私等方面的问题,尽量减小对用户隐私的侵犯。


相关知识:
自建nas私有云app
NAS (Network Attached Storage) 是一种网络存储设备,可以通过本地网络连接访问存储在其中的数据。NAS 拥有多种用途,其中之一就是架设私有云平台。作为私有云平台,NAS 不仅可以存储用户的数据,还可以提供远程访问、在线媒体播放、
2023-06-05
自己做食物app
现今,随着人们对健康饮食的重视,食品行业正在经历一场巨大的变革。越来越多的人希望通过更加便利的方式获取信息,了解食品的制作过程、营养成分和烹饪技巧。而这一需求正好与移动互联网技术的发展相适应,因此建立一个“自己做食物”的应用程序变得十分重要。在本次文中,将
2023-06-05
自己做代练软件app
代练软件APP指的是一种通过软件平台来帮助游戏玩家完成游戏代练的工具。自己做代练软件APP需要掌握一定的编程知识和技巧,下面将从原理和详细介绍两个方面进行阐述。一、原理代练软件APP的原理基于游戏玩家的需求,通过平台提供的服务和专业的代练人员实现代练过程。
2023-06-05
自己开发手机app如何发布
移动应用是当今最流行和最有前途的技术之一。随着智能手机的普及和移动互联网的发展,越来越多的人选择使用手机应用来完成各种任务。因此,开发和发布自己的手机应用成为了一个非常受欢迎的选择。如果你也想开发一款自己的app,并将其发布到app store上,那么本文
2023-06-05
自己制作生鲜配送app
随着生活水平的不断提高,人们对生鲜食材的要求也越来越高。线下的传统生鲜店面,快速配送已经无法满足人们的需求。因此,生鲜配送app的出现给人们的生活带来了极大的方便和便捷。下面,我来介绍一下制作生鲜配送app的原理和具体步骤。1.项目规划在制作生鲜配送app
2023-06-05
自动精灵app怎样制作脚本
自动精灵是一款非常实用的手机自动化工具,它可以模拟用户操作,执行一些常见的任务,比如自动签到、刷视频、定时发送消息等等,可以帮助用户提高效率和便捷性。作为一款高级自动化工具,自动精灵的核心在于它的脚本功能,脚本是指一系列被编写好的操作步骤,可以通过脚本的执
2023-06-05
制作app怎么自定义键盘
在制作app时,许多开发人员会涉及到自定义键盘的需求,例如数字键盘、表情包键盘等。这篇文章将介绍在iOS平台上,制作自定义键盘的原理和具体实现方法。一、原理介绍在iOS平台上,自定义键盘的原理基于 UIResponder 和 inputView。UIVie
2023-06-05
招生app软件自己怎么做出来的
招生app软件的开发主要分为以下几个步骤:1. 需求分析和规划在开发招生app软件之前,需要先明确软件的目的、功能、用户需求、市场需求等,建立完整的规划和需求分析文档。这样可以确保软件在开发过程中不偏离方向,最终达成用户的期望。2. UI设计UI(User
2023-06-05
怎么做一个自己公司人员管理的app
一个自己公司人员管理的app是一种帮助公司管理和协调员工的工具。其主要作用是提供一些基本的功能,例如员工档案、员工考勤、工作日程安排、员工形象照片、员工个人信息等。以下是详细介绍和实现原理:1. 需求分析在设计开发之前,首先需要进行需求分析。这包括为员工管
2023-06-05
有哪些可以自己制作动漫的app
随着科技的不断发展,动漫行业也在不断地发展。在过去,制作动漫需要庞大的团队和专业的制作设备,但现在,我们也能够利用一些工具和软件来制作自己的动漫。下面介绍一些可以自己制作动漫的app。1. ToonatorToonator是一个在线的动画制作平台,基于Fl
2023-06-05
华为应用市场怎么上架自己做的app
华为应用市场是指华为消费者业务BG自主研发的应用程序市场,即类似于苹果应用商店和Google Play商店的应用程序市场,是华为手机及其他终端设备的应用下载平台。在华为应用市场中,企业或开发者可以提交自己的应用程序,拥有较为广泛的推广和下载资源。下面是上架
2023-05-30
都匀工业自动化手机app开发招聘
都匀工业自动化公司是一家专注于工业自动化技术的企业,主要提供工业自动化系统集成、工程设计、装备制造、售后服务等一系列整体解决方案。为满足客户需求,公司近年来开始重点开发手机app,以提升产品的智能化程度,减少客户使用和维护成本。一、手机app开发背景传统的
2023-05-30
©2015-2021 自建app开发平台 www.appbyme.cn 蜀ICP备17005078号-1