自己制作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只做精品”这个口号的引入为用户提供了更好的选择。自由岛是国内知名的手机
2023-06-05
自由岛app只做精品ios
自由岛(Freedom Island)是一款iOS应用程序,其主要功能是提供一种安全和私人的网络浏览方式。其原理在于该应用程序具有高度加密保护和流量加速功能,可以在保护用户的同时提高用户的网络体验。首先,自由岛使用高度加密的服务器连接来保护用户的隐私,并且
2023-06-05
自己做京东app
要自己做京东App,首先需要明确两个重要步骤:UI设计和后端开发。UI设计主要包括交互设计和视觉设计,后端开发是指开发京东App的服务器和接口。UI设计部分需要注意以下几个方面:1. 导航栏:因为京东的产品种类繁多,所以导航栏是一个非常重要的组件。建议采用
2023-06-05
自己开发app消息推送简单吗知乎
开发app消息推送需要一定的编程知识,特别是需要对移动应用的操作系统有一定的了解。消息的推送原理并不复杂,只需要理解消息推送的基本概念,就可以开始自己开发推送功能了。消息推送是指在移动应用程序中实现后台通知的功能。这种通知可以是即时性的,也可以是延时性的。
2023-06-05
自己app制作费用多少
App制作的费用因为很多的原因会有所不同。例如,制作过程涉及到的技术难度、应用程序涉及的功能和模块、目标市场、定位和平台、开发团队大小、开发周期等等。需要根据实际情况来评估费用问题。本文就这些因素逐一进行了详细介绍。技术难度:应用程序的难度是影响制作费用的
2023-06-05
小米手环自己开发app
小米手环是一款十分流行的智能手环设备,用户可以通过配合小米运动APP使用,记录自己的运动数据,了解自己的运动情况。但是,对于一些需要个性化定制的用户来说,他们可能希望自己能够定制一款适合自己的运动APP,并将数据通过小米手环进行同步。这时,就需要自己去开发
2023-05-31
如何自己制作二维码app
二维码(QR Code)是一种二维码码制,它可以储存许多信息,包括数字、文本、网址、联系方式等等。QR Code 的应用非常广泛,可以用于各种指向网站、产品说明、付款等功能。因为QR Code 可以用智能手机等设备直接读取,因此QR Code 在商业、服务
2023-05-30
如何自己制作一个斗地主app
制作一款斗地主app需要掌握以下技术:前端开发、后端开发、数据库设计与交互实现。下面将详细介绍制作斗地主app的原理和步骤。一、前端开发前端开发主要是指app的UI设计和交互实现。UI设计需要考虑用户界面的美观、直观、易用等因素,以提高用户体验。交互实现需
2023-05-30
开发自己的app平台有什么作用
随着智能手机和移动设备的普及,移动互联网已经成为了现代人生活的重要组成部分。在这个移动互联网时代,开发自己的APP平台已经成为了大多数企业和创业者的必备手段。那么,开发自己的APP平台有什么作用呢?1.提高用户体验通过自己的APP平台,企业可以更好地了解用
2023-05-30
唱鸭app怎么自己制作伴奏
唱鸭app作为一款流行的K歌软件,为用户提供了多种伴奏选择,但是有时候用户想要自己制作伴奏,来增强自己的个性化表现。本文将详细介绍唱鸭app自制伴奏的原理和方法。1. 唱鸭app自制伴奏的原理唱鸭app自制伴奏的原理是基于原唱和伴奏之间的声音差异来实现的。
2023-05-30
编程人员自己制作app软件
制作app软件可以分为两个主要的阶段,设计和开发。以下是每个阶段中需要考虑的关键因素。设计阶段1. 确定目标受众:在开始设计app之前确定你的目标受众是至关重要的。你的app是为年轻人设计的还是为年长者设计的?你想要你的app在哪些设备上运行?2. 确定功
2023-05-30
0代码自己制作电商app
如今,想要开发一个电商应用程序不再需要耗费大量的时间和金钱。现在,可以使用一些类似于"0代码"的应用程序平台来制作自己的电商应用程序。 0代码应用程序平台是一种软件的开发和运行环境,它使开发人员可以轻易地建立、发布和管理应用程序。以下是制作电商应用程序的详
2023-05-30
©2015-2021 自建app开发平台 www.appbyme.cn 蜀ICP备17005078号-1