自己制作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,需要将它发布到应用商店或是通过其他方式进行分发。下面将详细介绍一下发布到应用商店的流程以及注意事项。1. 开发者账号在发布app之前,需要注册一个开发者账号。不同的应用商店会有不同的注册要求,但大多数都需要开发者提供一些基本信
2023-06-05
自学编程做app代码可以吗
自学编程做app代码完全可以,而且是非常热门的技能之一。过去几年,移动应用程序的需求急剧增加,许多公司和企业都在寻找合适的开发人员来创建在iOS和Android平台上运行的应用程序。但学习编程并不是一件轻松的事,需要良好的计算机基础和耐心。这篇文章将介绍一
2023-06-05
自学做炸鸡app
炸鸡是世界各地深受欢迎的美食,尤其是在美国和亚洲地区。自学制作炸鸡的 APP 将帮助用户了解如何在家中炸制出美味的炸鸡。开发这样的 APP 需要有一些技术,较为常见的是使用 React Native 框架、使用食谱 API 和视频教程。下面详细介绍这三个方
2023-06-05
自己用电脑怎样做app
想要自己制作一个APP不再是难题。当今我们已经拥有越来越多的工具和资源来实现我们的创意想法。下面我们介绍一些主流的软件和方法,告诉你怎样用电脑来制作你自己的APP吧。1. APP制作工具——MIT App InventorMIT App Inventor是
2023-06-05
什么软件可以自己制作app
自己制作app的软件有很多,以下列举几种较为常见的:1. Appy Pie:Appy Pie是一款在线应用制作工具,用户无需任何编程知识就能够制作自己的应用。这个软件提供了丰富的模板和特色功能定制,用户可以选择适合自己的模板进行快速应用开发。此外,Appy
2023-05-31
如何自己制作app界面
现如今,手机已经成为我们生活中必不可少的一部分,而在手机上使用App也是我们日常生活最频繁的事情之一。但是你有没有想过,那些好看、方便、易用的App是如何制作出来的?在制作App时,设计好的界面也是至关重要的。一个好看、直观、易用的界面能够吸引用户,提升用
2023-05-30
如何自己做apple
做苹果非常简单,只需要跟随以下步骤,即可在家里轻松制作出美味的苹果。1.选购适合自己的苹果首先,我们需要购买一些新鲜且适合制作苹果的苹果。建议选择口感柔软、甜味浓郁、皮薄易削的苹果品种,如红富士、嘉兴苹果等。在购买苹果时,注意选择无任何瑕疵的苹果,以免影响
2023-05-30
券商发力自建app
近年来,随着互联网金融的兴起和用户对投资理财的需求不断增长,券商开始发力自建app来满足用户的需求。在这篇文章中,我们将详细介绍券商自建app的原理和具体细节。一、原理介绍在互联网时代,移动互联网的出现彻底颠覆了传统的金融模式。用户越来越依赖于移动设备进行
2023-05-30
大公司都是自己有app开发团队么
大公司往往都会拥有自己的App开发团队,这是为了能够更好地掌握自己的应用程序开发,以便更好地满足市场需求。下面将介绍一下大公司自己开发团队的原理和细节。首先,大公司之所以要拥有自己的应用程序开发团队,是因为他们需要为自己的业务和服务量身定制的应用程序。定制
2023-05-30
安卓app开发自己的小程序
安卓APP开发自己的小程序随着移动互联网的快速发展,小程序逐渐成为了人们使用移动设备的重要方式之一。作为一种轻量级应用,小程序还能够在不下载应用的情况下,快速地实现各种功能。如今,自己动手开发一个小程序也并不是一件难事。下面就来介绍一下安卓APP开发自己的
2023-05-30
app在线自助制作
随着移动互联网的普及和应用场景的不断扩展,很多企业和个人都需要快速、简便地开发自己的手机应用程序。而这时候,对于没有任何编程经验的人来说,自助制作的方式就非常适合。所谓自助制作,就是指利用一些在线app制作平台或者提供自动化制作工具的平台,让用户迅速、便捷
2023-05-30
©2015-2021 自建app开发平台 www.appbyme.cn 蜀ICP备17005078号-1