自己制作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的原理在自学开发app之前,我们需要先理解开发app的原理。多数app由前端和后端两部分组
2023-06-05
自己学做饭app
当今社会,人们对于健康饮食的要求越来越高,更多的人开始懂得自己动手做饭,而自己学做饭APP则是一个很好的帮助,让用户了解到更多的饮食知识和做饭技巧。下面,我们将为你介绍,自己学做饭APP的原理和详细介绍。一、自己学做饭APP的原理自己学做饭APP的原理就是
2023-06-05
自己可以制作收费的app吗苹果
苹果提供了一种名为iOS的操作系统,使开发者能够为iPhone和iPad等设备创建应用程序。如果您想制作收费的应用程序,以下是您需要考虑的事项和步骤:1. 注册成为苹果开发者首先,您需要成为苹果的注册开发者。这需要支付一定的费用,并遵守苹果的应用开发政策和
2023-06-05
应用公园让你自己制作手机app
应用公园是一款非常受欢迎的手机应用开发平台,它可以帮助用户轻松地制作自己的手机app。应用公园通过提供一系列的工具和教程,让用户可以在不具备编程知识和经验的情况下,快速制作出自己的手机应用程序。应用公园的操作非常简单,下面我们来介绍一下它的原理和具体步骤。
2023-06-05
苹果里有自己制作app功能
苹果公司号称自己的app生态系统是全球最完善的,提供了各种各样的应用程序以及开发工具,众多的开发者们通过这些工具可以制作出各种类型的应用程序。想要制作一款iOS应用程序,不需要具备过多的编程知识,Apple为开发者提供了强大的工具,即Xcode。以下是关于
2023-05-30
如何自己制作扫货app
要自己制作扫货app,需要了解扫货app的功能和原理。扫货app主要通过扫码功能获取商品信息,并通过调用API接口或者爬虫技术获取商品的价格、库存等信息。在获取商品信息后,扫货app还需要将信息呈现给用户,并提供其他有用的功能,比如价格变动提醒、商品对比等
2023-05-30
南宁自营商城app开发公司
南宁自营商城app开发公司是一家专业从事移动互联网领域的软件开发公司。其主要业务是为企业提供app开发服务。自营商城app是其最主要的产品之一,致力于为企业提供一个类似淘宝、京东等电商平台的自营商城,帮助企业开发并实现自己的电商自营平台。南宁自营商城app
2023-05-30
可以自己制作伴奏的app
制作伴奏的App原理或详细介绍在现代音乐中,伴奏是音乐中不可或缺的一部分。在制作伴奏的过程中,需要将音乐进行人工分析并按照时间轴处理,才能完成最终制作。随着科技的发展,人们越来越依赖于手机应用提供的服务。因此,制作伴奏的手机应用受到了广泛关注。那么,自己制
2023-05-30
会编程可以自己开发app吗
可以,建议先学习一门编程语言和对应的开发环境。下面以开发Android应用为例进行介绍。1. 学习Java编程语言Java是Android应用开发的主要语言,如果没有编程基础,需要从基础的Java语法开始学习。2. 下载Android StudioAndr
2023-05-30
大同自动量化交易app开发公司
大同自动量化交易App开发公司是一家专注于股票、期货、外汇等金融市场的自动量化交易App开发的公司。该公司的主要目的是帮助投资者用机器学习和算法从金融市场赚取更多的利润。自动化交易是一种投资策略,它使用计算机程序来执行买卖股票或其他金融产品的交易。在自动化
2023-05-30
别人的app怎么做成自己的
当你看到一个好的APP时,你会有这样的想法:这个应用真的很厉害,如果能拥有它,我就可以做出更好的东西。那么,怎么样才能让别人的APP变成自己的APP呢?下面是一些常用的方法。1. 全新开发如果你有足够的技术能力,你可以选择从头开始开发一个新的应用程序,这样
2023-05-30
0基础如何开发属于自己的app
开发一个自己的APP,对于0基础的新手来说,首先需要了解APP开发的基本流程和原理。APP开发需要考虑的方面很多,但总体分为四个步骤:需求分析,设计,开发,测试。第一步:需求分析在需求分析阶段,需要明确开发的APP的类型、目标用户、定位和功能特点。考虑以下
2023-05-30
©2015-2021 自建app开发平台 www.appbyme.cn 蜀ICP备17005078号-1