自己制作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是一种集写作、编辑、排版、发布等功能于一体的应用软
2023-06-05
自建app团队需要几个人组队
自建App团队需要几个人组队?自建App团队是一项需要实际操作的计划,需要对团队组建有一定的了解。一支合格的自建App团队不仅能够提高产品或服务的质量,更能够在提高经济价值方面获得显著的效益。在这方面,想要组建一支高效的自建App团队,需要考虑以下几个方面
2023-06-05
自己做在线虚拟展览的app
在线虚拟展览是在虚拟现实技术的支持下,将真实的展览场馆通过数字化手段呈现在网民面前,使得远在千里之外的人们也可以足不出户地参观、了解和学习展览内容。自己制作在线虚拟展览的app,需要掌握以下知识和技能。1. 前端技术在线虚拟展览的app需要一个用户友好的界
2023-06-05
自己做个购物平台app
自己做一个购物平台app,需要具备以下几个原理:1.理解app的架构app的架构分为前端、后端、数据库和服务器四个模块。前端是用户界面,后端是数据操作和逻辑处理,数据库是数据储存的地方,服务器用于处理网络请求和推送消息。2.选择开发工具要开发购物平台app
2023-06-05
自己制作app要收费吗
自己制作app的费用涉及到多个方面,包括开发工具和平台、域名和服务器、应用商店发布费用等。下面我将逐一介绍。1. 开发工具和平台开发工具和平台是自己制作app的必要条件,它可以让你在不需要编写大量代码的情况下,快速地创建和发布应用程序。常用的开发工具和平台
2023-06-05
怎样可以自己做app
想要自己做一个App,首先需要了解App的基本构成和开发流程。App通常由前端、后端、数据库等部分构成,其中前端部分负责App的用户交互,而后端和数据库则负责处理用户数据以及实现App的后台逻辑功能。下面将从这三个方面详细介绍自己制作App的原理和流程。一
2023-06-05
前程无忧自主开发的app
前程无忧是国内著名的招聘网站之一,自主开发了多款app以便用户更加方便地进行求职招聘。下面我将为大家详细介绍前程无忧自主开发的app。首先是前程无忧官方app,这款app在多个操作系统上均有版本,包括iOS和Android。用户可以在app上进行简历投递、
2023-05-30
免费做一个自己app
在现在的数字时代,移动应用程序已经成为人们日常生活的一部分。无论是用于社交娱乐、教育学习、生活购物、工作办公、医疗保健、金融理财等领域,都有各种类型的应用程序。每个人都可以创建自己的移动应用程序,而且不需要成为一名软件工程师。本文将简要介绍免费创建自己应用
2023-05-30
邯郸自动量化交易app开发公司
邯郸自动量化交易APP开发公司是一家致力于金融科技领域的企业,主要业务是为个人和机构客户提供自动化量化交易解决方案。自动量化交易,简称量化交易,是指使用计算机算法和数学模型进行交易决策的一种交易方式。该交易方式可以消除个人情感因素对交易的干扰,提高交易的稳
2023-05-30
哈罗自行车app怎么开发票
哈罗自行车app是一款非常实用的骑行工具,既可以方便用户租用自行车,还可以通过该app进行开发票操作。开发票操作对于很多用户来说可能比较陌生,下面我们一起来了解一下哈罗自行车app的开发票原理和详细操作步骤。一、开发票原理:哈罗自行车app的开发票操作是基
2023-05-30
电商自己做的app推广
随着电商市场的不断发展,越来越多的电商企业都开始考虑通过自有的APP来推广自己的产品。相比于传统的广告推广方式,电商自己做的APP推广更加具有针对性和效果性。那么,下面就来详细介绍一下电商自己做的APP推广的原理和方法。一、APP推广的原理1.优质的用户体
2023-05-30
保定自动量化交易app开发报价
保定自动量化交易App开发是基于量化交易平台的自动化交易系统,让用户能通过自己设定的参数来进行模拟交易。也就是说用户可以事先设置好交易策略、资金管理、交易信号等,然后通过AI算法来预测市场的高低点位,做出相应的投资决策。该App使得交易系统更加高效、快捷,
2023-05-30
©2015-2021 自建app开发平台 www.appbyme.cn 蜀ICP备17005078号-1