Android保存联系人
上一篇文章讲了如何获取所有联系人,这篇文章就讲下怎么保存联系人数据到本机通讯录。这里我就假设你已经拿到了要保存的联系人数据。
因为是一个工具类,所以我这里就只给一个方法了,也是很简单,但是写的没有读取联系人的数据那么多,要保存更多其实看下如何读取的就会了。直接上源码:
/** * 添加联系人到本机 * * @param context * @param contact * @return */ public static boolean addContact(Context context, ContactEntity contact) { try { ContentValues values = new ContentValues(); // 下面的操作会根据RawContacts表中已有的rawContactId使用情况自动生成新联系人的rawContactId Uri rawContactUri = context.getContentResolver().insert( RawContacts.CONTENT_URI, values); long rawContactId = ContentUris.parseId(rawContactUri); // 向data表插入姓名数据 String name = contact.getName(); if (name != "") { values.clear(); values.put(Data.RAW_CONTACT_ID, rawContactId); values.put(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE); values.put(StructuredName.GIVEN_NAME, name); context.getContentResolver().insert( ContactsContract.Data.CONTENT_URI, values); } // 向data表插入电话数据 String mobile_number = contact.getPhone1().get(0); if (mobile_number != "") { values.clear(); values.put(Data.RAW_CONTACT_ID, rawContactId); values.put(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE); values.put(Phone.NUMBER, mobile_number); values.put(Phone.TYPE, Phone.TYPE_MOBILE); context.getContentResolver().insert( ContactsContract.Data.CONTENT_URI, values); } // 向data表插入Email数据 String email = contact.getEmail(); if (email != "") { values.clear(); values.put(Data.RAW_CONTACT_ID, rawContactId); values.put(Data.MIMETYPE, Email.CONTENT_ITEM_TYPE); values.put(Email.DATA, email); values.put(Email.TYPE, Email.TYPE_WORK); context.getContentResolver().insert( ContactsContract.Data.CONTENT_URI, values); } // 向data表插入QQ数据 String qq = contact.getQq(); if (qq != "") { values.clear(); values.put(Data.RAW_CONTACT_ID, rawContactId); values.put(Data.MIMETYPE, Im.CONTENT_ITEM_TYPE); values.put(Im.DATA, qq); values.put(Im.PROTOCOL, Im.PROTOCOL_QQ); context.getContentResolver().insert( ContactsContract.Data.CONTENT_URI, values); } // 向data表插入备注信息 String describe = contact.getDescribe(); if (describe != "") { values.clear(); values.put(Data.RAW_CONTACT_ID, rawContactId); values.put(Data.MIMETYPE, Note.CONTENT_ITEM_TYPE); values.put(Note.NOTE, describe); context.getContentResolver().insert( ContactsContract.Data.CONTENT_URI, values); } // 向data表插入头像数据 Bitmap sourceBitmap = BitmapFactory.decodeResource( context.getResources(), R.drawable.icon); final ByteArrayOutputStream os = new ByteArrayOutputStream(); // 将Bitmap压缩成PNG编码,质量为100%存储 sourceBitmap.compress(Bitmap.CompressFormat.PNG, 100, os); byte[] avatar = os.toByteArray(); values.put(Data.RAW_CONTACT_ID, rawContactId); values.put(Data.MIMETYPE, Photo.CONTENT_ITEM_TYPE); values.put(Photo.PHOTO, avatar); context.getContentResolver().insert( ContactsContract.Data.CONTENT_URI, values); } catch (Exception e) { return false; } return true; }
相关推荐
怎么保存联系人数据到本机通讯录?这篇文章主要为大家详细介绍了Android保存联系人到通讯录的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
显示联系人的listView列表,并且点击号码可以拨打电话,点击按钮“导入通讯录”,选择全部联系人导入通讯录。
以下功能和软件界面供参考:仿照一般手机通讯录的使用界面和功能,主要功能可包括: (1)可以添加、删减联系人 (2)联系人的信息包括:姓名、手机号码、工作单位、群组、电子邮件、手机铃声 (3)选择联系人后,...
此程序可以读取手机自带通讯录上的所有联系人,并且可以导入到这个通讯录列表,不用用户一个一个地输入,将导入的联系人信息保存在SQLite3数据库中,还具有向指定联系人发送短信、打电话、增加、修改联系人等基本...
仿android通讯录。可以对联系人进行增、删、改、查,联系人头像的更换,通讯录的保存,导出,导入功能。
基于Android studio设计的通讯录项目,利用Sqlite数据库技术实现对联系人姓名、电话号码、头像和备注进行保存(增删查改),可实现对指定联系人拨打电话和发送短信等操作。
本程序是一个Android的通讯录程序,联系人姓名和手机号码是通过SQLite数据库保存,通过自定义适配器显示在界面,有增删查改功能。
通讯录实现添加,删除,查找,修改联系人,密码锁功能,可选择性保存联系人姓名,电话,性别,学号,地址等
摘要:Java源码,Android源码,通讯录 Android contact通讯录实例,比较不错的例子,来自书中的完整实例,Android手机读取联系人信息、显示、保存、编辑联系人,多卡同时读取联系人等,涉及要点:删除指定数据列、URI...
1.把通讯录中的联系人,电话号码保存到txt文件中完成备份。 2.读取txt文件,导入到通讯录完成还原。 具体代码 1.添加 通讯录读写权限,存储卡写权限 <uses-permission android:name="android.permission.READ_...
通过contentprovider提供的uri查询手机电话簿的联系人信息,包括姓名,电话,头像(获取的是本机保存的联系人信息,没有获取SIM卡里面联系人的信息)
自定义通讯录,用到android开发布局,gallery运用,listView,及SQLite的存储联系人姓名,进行对联系人的增删改查操作,并将结果保存在数据库中
一、简介 本节演示如何在安卓系统中通过用户配置文件(user profile)读取和更新该手机的所有联系人信息,...在Android 4中,这个保存联系人信息的应用程序称为“People app”,而在Android 5.0及更高版本中,这个应
Corporate Addressbook GAL是指the Global Address List 意为全球联系人清单 是存在公司Exchange服务器上的联系人信息 你可以利用这款软件在Android安卓手机上查找别人的联系方式 或者将其保存到自己的本地通讯录中 ...
2. Excel联系人将你手机中所有联系人信息连同照片打包到一个ZIP文件中,并通过Email、SD卡、Google Drive、Box或Dropbox等方式导出到你的电脑中。 3. 不需要将你的通讯录放到Google或其它服务器上,只需一个zip文件就...
(3)开发布局文件activity_main.xml用于显示联系人列表。 (4)layout目录下新建一个activity_person_message.xml,用于显示联系人详细信息 (5)开发数据库辅助类ContactOpenHelper类,新建一个ContactOpenHelper....
Android 进一步推进了 " 随时随地为每个人提供信息 " 这一企 业 目标的实现。 � Open Handset Alliance 汇集了多家业界巨头。运营商如: China Mobile 、 NTT DoCoMo 、 Vodafone 、 T-M obile 等;设备制造商如 ...
经常把联系人保存为csv后,再导入其他手机,要么出现空格,要么出线短横线,用这个可以一键消除,还可以统一去掉+86等
(该版本已知BUG:从VCF导入的联系人不能保存。升级版已解决该问题) 运行要求: 本软件采用C#编写,需要.NET Framework 3.5支持。 Windows 7可直接使用,Vista 或者Windows XP 需要升级至.NET Framework 3.5或者...