自己制作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,需要考虑以下几个方面:1. 技术选型与开发要开发一款完整的电子商城app,需要一定的技术基础和相关的开发经验,还需要选择适当的技术框架和工具。通常情况下,选择App开发的主流技术包括Java、Objective-C、Swift、R
2023-06-05
自己组建团队开发app需要多少资金
自己组建团队开发App需要多少资金,这个问题实际上很难给出确切的答案,因为与团队的规模和人员的工作经验、技术水平、城市地理位置等都有关系。但是我们可以分别从人力、设备和办公等方面来考虑所需的资金。人力成本对于App团队而言,人力成本是需要投入大量资金的重要
2023-06-05
自己开发app售卖犯法吗
开发一个App并将其售卖并不犯法。但是,在开发和销售过程中必须遵守相关的法律和规定。为了更好地理解这一点,我们需要对相关的法律和规定有所了解。首先,对于开发者而言,需要遵循一些知识产权法律和规定。这些知识产权法律和规定包括有关商标、版权、专利和域名等方面的
2023-06-05
怎么样自己做app
要自己做一款APP需要具备诸多技术的前置基础和能力,其中包括一定的编程能力、设计能力、需求分析和市场调研能力等等。下面就为大家分享一下APP的制作原理以及详细介绍。一、APP制作原理制作APP的基本原理是建立一个前端页面的界面,然后通过后端数据库与服务器进
2023-06-05
学习自建app应用
自建App应用是现代科技发展的必然趋势,因为应用的推出对于我们生活的方方面面都起到了很大的帮助,自建App应用也是很多程序员和开发者的愿望。那么自建App应用究竟怎么做呢?下面我们来详细介绍一下。首先,自建App应用需要掌握的基础知识非常多,包括编程语言、
2023-06-05
如何自己制作订货app软件
制作订货app软件是一个比较复杂的过程,需要对开发语言、设备兼容性、数据库管理等多个方面有深入的了解和掌握。本文将从原理和详细介绍两个方面,为大家介绍如何自己制作订货app软件。一、制作订货app软件的原理1.开发语言选择开发订货app软件最常用的语言是J
2023-05-30
如何制作自己店的app
在如今的互联网时代,一个成功的企业需要拥有自己的官方网站和移动应用程序。随着移动互联网逐渐普及,APP也成为了企业宣传、运营和市场推广的重要手段,特别是对于实体店面而言,一款好用的自己店的APP,不仅能够为品牌留下更深的印象,更能给消费者带来更加便捷的购物
2023-05-30
免费自建软件app
自建软件APP指的是用户自己根据需要开发的移动应用程序。它可以进行各种各样的功能开发,如社交、娱乐、生活、工作等等。在这篇文章中,我将介绍自建软件APP的原理以及如何免费自建软件APP。一、自建软件APP原理自建软件APP的原理是先根据所需功能进行设计和开
2023-05-30
国内app自建制作工具
自建app制作工具,又称为无代码app开发平台,是一种较为简便的app制作工具。它不需要编写代码,只需要通过可视化的拖拽和点选操作就可以完成app的制作。相较于传统的app开发方式,自建app制作工具可以大幅度减少人力成本和时间成本。因此,如今越来越多的企
2023-05-30
大众自动开发app
随着移动端的普及,APP开发成为了许多企业的重要业务。然而对于非专业的开发者来说,开发一款APP依然是一项复杂而不易上手的任务。针对这一问题,大众自动化APP开发就应运而生。大众自动化APP开发,顾名思义,就是利用自动化技术来实现APP开发。一般来说,这种
2023-05-30
程序员开发app财务自由
在如今信息时代,互联网产业发展迅速,移动互联网以及智能手机的普及,为开发者提供了全新的机遇。尤其是移动应用,已经成为一种非常有前景的商业模式,可以创造出很高的收益。那么,程序员如何开发一个赚钱的App呢?首先,我们需要了解这一领域的基础知识。移动应用营销,
2023-05-30
安卓app开发一个自定义签名软件
签名是许多应用程序开发人员用于在Android设备上部署应用程序的一种重要机制。在发布Android应用程序之前,开发人员必须使用他们的私钥签署应用程序。然后,Android应用程序会验证该签名以确保它来自合法发布者。为用户提供一款自定义签名软件可以让他们
2023-05-30
©2015-2021 自建app开发平台 www.appbyme.cn 蜀ICP备17005078号-1