自己制作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上传发布至应用商店进行发布和分发。下面就是一些常见的发布平台介绍。1. 苹果App Store苹果公司提供了“App Store”这一平台,这
2023-06-05
自己做商城app
现在,随着移动设备的普及,人们越来越喜欢通过手机购物。如果你在互联网领域有足够的技术知识,你可以自己尝试开发一个手机商城APP,为消费者提供便捷购物体验。首先,你需要了解APP开发的基本流程和要点。通常情况下,开发一个APP需要以下几个步骤:1.需求分析:
2023-06-05
自己做一款app难吗安全吗
自己制作一款 App 对于有专业技术和经验的开发者来说并不难,但对于新手来说可能存在一定的技术难度。制作 App 的安全性主要取决于开发者的技术水平、经验和对安全问题的重视程度。制作 App 的技术原理主要包括以下几步:一、确定 App 的功能模块和用户需
2023-06-05
自学开发手机app
现在,越来越多的人对于开发手机app感兴趣,因为app可以改变如今我们生活的方方面面,而且也可以被用来解决各种问题,提高效率,节省时间。app开发需要掌握一些编程语言和技术,但并不需要过高的技术水平,只要有兴趣、有耐心,就可以自学开发手机app。下面将为大
2023-06-05
自己怎样开发手机app
开发手机应用是一个庞大而复杂的过程,涉及多个方面的知识和技能。在本文中,我们将介绍一些基本原理和步骤,帮助你了解如何开发手机应用程序。首先,为了开发手机应用程序,你需要掌握至少一种编程语言。在移动应用开发中,最常用的编程语言有Java、Swift和Kotl
2023-06-05
自己开发一款app怎么运作
开发一款App是一个包含多个步骤、流程的项目过程。虽然不同的App可能会存在其具体情况和特殊性,但是一般来说,App的开发大体可以概括为以下几个步骤。第一步:需求分析和概要设计在开发一款App之前,我们需要先确定其具体的功能需求和实现目标,即需进行需求分析
2023-06-05
自己制作的手机壳app
智能手机在当今的社会中已经成为人们生活中的重要组成部分,随着手机壳的不断普及,人们对于手机壳的需求也越来越高。在这种情况下,有些人自己创造了一个制作手机壳的应用程序,以满足人们的需求。一、程序的原理1. 首先,我们需要一个app,让用户可以方便地自己制作手
2023-06-05
自贡直销app开发思路和方法
自贡直销app是一款基于互联网技术,以推广和销售自贡特产产品为出发点的应用软件。它可以让人们通过手机或电脑等终端设备,浏览、购买和分享自贡特产产品,并享受到优惠促销等活动。开发自贡直销app需要遵循以下思路和方法。一、定义产品特点和目标用户在开发自贡直销a
2023-06-05
手机app自己制作账本
现今,随着移动设备的普及和移动支付的兴起,越来越多的人选择使用手机app来管理自己的财务,特别是个人账本。在移动设备上建立个人账本,可以方便地记录每天的花费和收入,并快速获取相关的财务数据分析,这也是自制手机账本应用的主要原因之一。因此,下面将分三个步骤向
2023-05-31
可以自己做的免费手机主题app
手机主题作为手机个性化的一种表现形式,一直备受手机用户的关注。我们可以在各大应用商店中看到各种精美的主题包,但是很多用户发现自己想要的主题并没有被开发者制作。那么,有没有一种方法可以让用户自己制作自己的主题呢?答案是肯定的,通过一些网站或者工具,用户可以自
2023-05-30
可以自己做个app自己用吗
恭喜你想要开发属于自己的 App,现在的开发条件比以前更加优越,因此,开发一个 APP 已经不是空想。不过,在开始之前,你需要掌握几个必须的原理,以下是几个重要步骤:1.确定你的软件类型、功能和目标用户在开发一个 APP 之前,首先需要确定你的软件类型、功
2023-05-30
app自主开发平台有什么问题
移动应用开发是当代互联网技术发展的必经之路,它涉及到的技术门槛较高,需要具备较为综合的开发能力。近年来,随着移动应用市场的蓬勃发展,以及人们对于个性化定制的需求,涌现出了一些自主开发平台,这些平台可以让不具备专业技术背景的人员也能够开发出相对简单的移动应用
2023-05-30
©2015-2021 自建app开发平台 www.appbyme.cn 蜀ICP备17005078号-1