android手机通讯录备份还原代码,android手机通讯录备份还原代码
最近想写段android程序玩玩。
开发环境 eclipse ,android2.2
开发环境搭建
1.先安装jdk
2.下载安装eclipse
3.下载安装android sdk
4.安装eclipse插件 adt
5.配置 Window > Preferences 中的android sdk路径
6.创建 AVD
实现方法很简单 1.把通讯录中的联系人,电话号码保存到txt文件中完成备份。 2.读取txt文件,导入到通讯录完成还原。
具体代码 1.添加 通讯录读写权限,存储卡写权限
2.写文件代码
File saveFile=new File("/sdcard/test.txt");
FileOutputStream outStream;
try {
outStream = new FileOutputStream(saveFile);
outStream.write(str.getBytes());
outStream.close();
} catch (Exception e) {
setTitle(e.toString());
}
3.取通讯录联系人
str="";
Cursor cur = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
if (cur.moveToFirst()) {
int idColumn = cur.getColumnIndex(ContactsContract.Contacts._ID);
int displayNameColumn = cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME);
do {
String contactId = cur.getString(idColumn);
String disPlayName = cur.getString(displayNameColumn);
str+=disPlayName;
int phoneCount = cur.getInt(cur.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER));
if(phoneCount>0){
Cursor phones = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null,ContactsContract.CommonDataKinds.Phone.CONTACT_ID+ " = " + contactId, null, null);
int i=0;
String phoneNumber;
if(phones.moveToFirst()){
do{
i++;
phoneNumber= phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
if(i==1)
str=str+","+phoneNumber;
System.out.println(phoneNumber);
}while(phones.moveToNext());
}
}
str+="\r\n";
} while (cur.moveToNext());
}
}
4.读文件代码
try {
File file = new File("/sdcard/test.txt");
FileInputStream inStream = new FileInputStream(file);
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
byte[] buffer = new byte[1024*5];
int length = -1;
while((length = inStream.read(buffer)) != -1 ){
outStream.write(buffer, 0, length);
}
outStream.close();
inStream.close();
String txt= outStream.toString();
} catch (IOException e){
setTitle(e.toString());
}
5.写通讯录
ContentValues values = new ContentValues();
Uri rawContactUri = getContentResolver().insert(RawContacts.CONTENT_URI, values);
long rawContactId = ContentUris.parseId(rawContactUri);
values.clear();
values.put(Data.RAW_CONTACT_ID, rawContactId);
values.put(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE);
values.put(StructuredName.GIVEN_NAME, name);
getContentResolver().insert(Data.CONTENT_URI, values);
values.clear();
values.put(Data.RAW_CONTACT_ID, rawContactId);
values.put(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE);
values.put(Phone.NUMBER, num);
values.put(Phone.TYPE, Phone.TYPE_HOME);
getContentResolver().insert(Data.CONTENT_URI, values);
如果你发现有什么不合理的,需要改进的地方,或者你有什么更好的实现方法邮件联系328452421@qq.com(qq常年不在线,邮件联系) 。相互交流 谢谢
android手机通讯录备份还原代码,android手机通讯录备份还原代码相关推荐
- android手机通讯录备份还原代码,安卓手机误删联系人恢复及备份技巧总汇
原标题:安卓手机误删联系人恢复及备份技巧总汇 现在很多手机都不再提供将联系人存入SIM卡中的功能了,所以如果你还习惯性的将联系人储存在手机内存当中,一旦手机丢失或者手机数据遗失,那么少则几十动辄几百的 ...
- android 云备份通讯录备份,安卓版QQ手机管家2.1全新发布:云备份通讯录
腾讯科技讯 7月22日消息,近日,腾讯再次更新发布了Android平台QQ手机管家2.1,该版本整合了QQ同步助手功能,可以"云备份"手机联系人,那些常丢手机.常换手机的朋友可以使 ...
- 安卓手机备份_安卓Android系统,如何备份手机通讯录?
首先,我们得知道,没有备份,往往意味着很难恢复.所以,日常我们就要做好备份工作. 目前,微信上通讯录助手功能已经下线,故无法通过微信备份手机通讯. 需要备份手机通讯录的,可通过手机QQ(点蓝字可查看方 ...
- android 通讯录备份 导入苹果手机,安卓手机通讯录怎么导入苹果手机? 手机通讯录怎么恢复导出...
安卓手机通讯录怎么导入苹果手机?手机通讯录怎么恢复导出?对于手机数据被删的情况,真的是来去匆匆,不带走一点遗憾.轻轻的触碰联系人的删除键就可以把联系人联系方式进行清空了,那么应该如何恢复呢? 现在如此 ...
- android通讯录简单的_安卓手机删了联系人怎么恢复?超简单的恢复方法,一看就懂!...
世界那么大,谢谢你来看我!!! "不小心删除了手机中的一些重要联系人.有什么方法可以快速从Android恢复已删除的联系人吗?任何建议将不胜感激." 我想很多Android用户都遇 ...
- 一篇很好的关于Android的本科毕业论文《基于android手机通讯录的设计与实现毕业论文》转自百度
本文转自: http://wenku.baidu.com/view/bb7dad58804d2b160b4ec058.html 相应的word文档csdn下载地址: http://download.c ...
- android 手机数据备份,如何备份和恢复Android应用数据
作者:Selena Komez10月30,2018更新 对于任何平台上的所有Android设备所有者而言,备份Android应用程序文件可能都是最重要的事情之一. 您永远不会知道何时会出问题,并且不想 ...
- android确认密码代码,Android手机卫士之确认密码对话框
本文接着实现"确认密码"功能,也即是用户以前设置过密码,现在只需要输入确认密码 布局文件和<Android 手机卫士--设置密码对话框>中的布局基本类似,所有copy一 ...
- android中如何打开指定卡上的数据连接开关,Android 代码控制手机数据网络的开关(5.0以上)...
Android 代码控制手机数据网络的开关 文章目录 android 5.0以前 5.0以后 Code android 5.0以前 Android 5.0以前使用ConnectivityManager ...
最新文章
- 2020-09-05
- android view自定义
- python绘制雷达图代码实例-使用python绘制温度变化雷达图
- 【学习】程序员技术练级攻略
- Nginx下配置Http Basic Auth
- 1090. Highest Price in Supply Chain (25)
- python笔记之matplotlib.pyplot曲线平滑自定义函数:smooth_curv()
- 如何用NANT+FxCop 并生成文档规范检测结果?
- python fileinputstream_Java FileInputStream.available()方法示例
- java获取时间日期代码
- linux 安装vmware-tools详解
- 从微软下载Vista Ultimate 中文旗舰版
- 灵棋排盘:一款让人感到惊喜的命理排盘工具
- Debian之CA认证
- 没有对象,你凭什么成为百万富翁
- word在试图打开文件时遇到错误,一种解决办法
- 华为android9.1指令,华为手机进工程模式指令大全(新增EMUI9.0指令链接)
- USB无线网卡共享台式机接入ADSL无线上网
- cpu设计和实现(流水线暂停)
- 多线程 分段 爆破crc32 C#C/C++ (一)
热门文章
- 云以载道十年路,浪潮云海OS的未来已来
- android 开发之电子钢琴 源码
- Android毕业设计_基于Android的移动学习平台设计
- Python小游戏:外星人入侵!!!终于完成了!!!
- 西北工业大学JAVA语言试题_2020年西北工业大学英语语言文学考研真题试卷及试题答案,英语综合知识测试考研试题下载...
- VM虚拟机三种网络模式详解
- 四川单招计算机网络试题,中职对口单招《计算机网络技术》和《软件技术》专业职业技能考试模拟题二...
- 大专的软件测试很难找工作,大专一毕业就从事软件测试工作好吗
- 几本.Net的经典书籍(转载)
- 免费下载中国地图china.js,在VUE使用echarts-map全国地图的方法和源码