自己制作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制作平台,普通人也可以轻松DIY自己的APP应用。这里介绍几个自建APP不花钱的平台,让大家可以更好地体验自己开发应用的快乐。1. 平台名称:蓝鲸APP制作平台原理介绍:蓝
2023-06-05
自己做贷款app
贷款APP是现在很多金融机构推广的一个渠道,通过APP进行贷款申请和审批,大大方便了用户的操作。有些时候,在选择贷款APP时,发现自己需要的功能没有或者不够完善,这时候自己动手开发一款贷款APP岂不是更好?下面就为大家介绍一下自己做贷款APP的原理和详细步
2023-06-05
自己做百日宴邀请函app
如果你计划要举办一场百日宴,邀请亲朋好友一起庆祝宝宝的出生,那么你可能需要设计一份有趣的邀请函来告知他们这个重要的事件。一种快速简便的方法是使用手机应用程序创建百日宴邀请函,以下是如何制作的详细介绍。第一步,选择一款制作邀请函的应用程序。市面上有很多免费和
2023-06-05
自己做建模app
现代科技发展极快,人们的生活离不开数码产品,如何让普通人参与到数码技术开发中?那就是打造一款简单易用的建模app,让任何人都能够使用只有数码专家才能制作的3D建模和3D设计程序。下面我将分享一下自己制作建模app的原理和详细介绍。原理建模app的制作需要分
2023-06-05
自己做个app分发平台
APP分发平台是一种集成了底层技术支持、服务器、数据存储、用户管理、支付等功能的一站式服务平台。该平台提供了各种产品的分发、管理、营销等服务,使企业可以很方便地通过移动互联网方式向客户推广自己的产品。自己做一个APP分发平台的原理和步骤如下:一、技术栈选择
2023-06-05
自学编程做app
随着智能手机普及,手机APP已成为人们日常生活不可分割的一部分。不少人都想自己学会编程,来做出自己的APP。那么,自学编程做APP有哪些原理或详细介绍呢?一、学习编程语言首先,要学习编程语言,现在比较流行的移动应用开发语言主要有Java、Swift、Obj
2023-06-05
自己开发一个app运营起来的费用
开发一个app需要考虑的费用因素很多。以下是一些常见的费用:1.开发团队的人员费用开发一个app需要一个有经验的开发团队。团队的规模会根据app的大小而异,但通常情况下,一个团队包括至少一名项目经理、一名开发人员、一名UI/UX设计师和一名测试人员。这些人
2023-06-05
自己建团队开发app
自己建团队开发app是一件非常有挑战性的事情,需要涵盖技术、团队管理、市场调研等多方面的知识和能力。下面将从几个方面介绍该过程,希望对想要自己开发app的人员有所帮助。第一步:确定项目类型和范围在搭建自己的app团队之前,需要先明确项目类型和范围。首先,要
2023-06-05
智能插座自开发app
智能插座是近年来比较流行的一种智能家居设备,它可以通过Wi-Fi、蓝牙或者其他无线网络连接到手机,实现通过手机远程控制插座开关,实现电器的远程控制。目前市面上有许多智能插座产品,但是也可以自行开发智能插座,下面将介绍自行开发智能插座需要考虑的几个方面。一、
2023-06-05
我做自己的app的
制作自己的APP是很多有创意的人的梦想,但由于技术门槛的限制,很多人只能眼巴巴地看着别人的APP大红大紫。然而,现在的技术发展已经使得制作APP变得相对简单,只要你有好的创意和一些基础的编程知识,便可以在不花费太多资金的情况下,制作出属于自己的APP。AP
2023-05-31
手机自制海报制作app
近年来,随着手机使用率的不断提高,手机自制海报制作app在市场上成为了热门的应用之一。手机自制海报制作app的原理是通过设计师提供的素材和模板,让用户可以根据自己的喜好和需要自行编辑,从而制作出适合自己的海报。首先,让我们来看看这些自制海报制作app中都有
2023-05-31
华为手机自带制作app软件
华为手机自带的制作App软件是华为公司开发的一款应用程序,其名称为“华为快应用开发者工具”,也简称“华为快应用”。该软件主要用于帮助开发者快速地设计、开发和发布不依赖于手机应用商店的应用程序。下面将对该软件的原理和功能进行介绍。## 原理华为快应用开发者工
2023-05-30
©2015-2021 自建app开发平台 www.appbyme.cn 蜀ICP备17005078号-1