最近想写段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手机通讯录备份还原代码相关推荐

  1. android手机通讯录备份还原代码,安卓手机误删联系人恢复及备份技巧总汇

    原标题:安卓手机误删联系人恢复及备份技巧总汇 现在很多手机都不再提供将联系人存入SIM卡中的功能了,所以如果你还习惯性的将联系人储存在手机内存当中,一旦手机丢失或者手机数据遗失,那么少则几十动辄几百的 ...

  2. android 云备份通讯录备份,安卓版QQ手机管家2.1全新发布:云备份通讯录

    腾讯科技讯 7月22日消息,近日,腾讯再次更新发布了Android平台QQ手机管家2.1,该版本整合了QQ同步助手功能,可以"云备份"手机联系人,那些常丢手机.常换手机的朋友可以使 ...

  3. 安卓手机备份_安卓Android系统,如何备份手机通讯录?

    首先,我们得知道,没有备份,往往意味着很难恢复.所以,日常我们就要做好备份工作. 目前,微信上通讯录助手功能已经下线,故无法通过微信备份手机通讯. 需要备份手机通讯录的,可通过手机QQ(点蓝字可查看方 ...

  4. android 通讯录备份 导入苹果手机,安卓手机通讯录怎么导入苹果手机? 手机通讯录怎么恢复导出...

    安卓手机通讯录怎么导入苹果手机?手机通讯录怎么恢复导出?对于手机数据被删的情况,真的是来去匆匆,不带走一点遗憾.轻轻的触碰联系人的删除键就可以把联系人联系方式进行清空了,那么应该如何恢复呢? 现在如此 ...

  5. android通讯录简单的_安卓手机删了联系人怎么恢复?超简单的恢复方法,一看就懂!...

    世界那么大,谢谢你来看我!!! "不小心删除了手机中的一些重要联系人.有什么方法可以快速从Android恢复已删除的联系人吗?任何建议将不胜感激." 我想很多Android用户都遇 ...

  6. 一篇很好的关于Android的本科毕业论文《基于android手机通讯录的设计与实现毕业论文》转自百度

    本文转自: http://wenku.baidu.com/view/bb7dad58804d2b160b4ec058.html 相应的word文档csdn下载地址: http://download.c ...

  7. android 手机数据备份,如何备份和恢复Android应用数据

    作者:Selena Komez10月30,2018更新 对于任何平台上的所有Android设备所有者而言,备份Android应用程序文件可能都是最重要的事情之一. 您永远不会知道何时会出问题,并且不想 ...

  8. android确认密码代码,Android手机卫士之确认密码对话框

    本文接着实现"确认密码"功能,也即是用户以前设置过密码,现在只需要输入确认密码 布局文件和<Android 手机卫士--设置密码对话框>中的布局基本类似,所有copy一 ...

  9. android中如何打开指定卡上的数据连接开关,Android 代码控制手机数据网络的开关(5.0以上)...

    Android 代码控制手机数据网络的开关 文章目录 android 5.0以前 5.0以后 Code android 5.0以前 Android 5.0以前使用ConnectivityManager ...

最新文章

  1. 2020-09-05
  2. android view自定义
  3. python绘制雷达图代码实例-使用python绘制温度变化雷达图
  4. 【学习】程序员技术练级攻略
  5. Nginx下配置Http Basic Auth
  6. 1090. Highest Price in Supply Chain (25)
  7. python笔记之matplotlib.pyplot曲线平滑自定义函数:smooth_curv()
  8. 如何用NANT+FxCop 并生成文档规范检测结果?
  9. python fileinputstream_Java FileInputStream.available()方法示例
  10. java获取时间日期代码
  11. linux 安装vmware-tools详解
  12. 从微软下载Vista Ultimate 中文旗舰版
  13. 灵棋排盘:一款让人感到惊喜的命理排盘工具
  14. Debian之CA认证
  15. 没有对象,你凭什么成为百万富翁
  16. word在试图打开文件时遇到错误,一种解决办法
  17. 华为android9.1指令,华为手机进工程模式指令大全(新增EMUI9.0指令链接)
  18. USB无线网卡共享台式机接入ADSL无线上网
  19. cpu设计和实现(流水线暂停)
  20. 多线程 分段 爆破crc32 C#C/C++ (一)

热门文章

  1. 云以载道十年路,浪潮云海OS的未来已来
  2. android 开发之电子钢琴 源码
  3. Android毕业设计_基于Android的移动学习平台设计
  4. Python小游戏:外星人入侵!!!终于完成了!!!
  5. 西北工业大学JAVA语言试题_2020年西北工业大学英语语言文学考研真题试卷及试题答案,英语综合知识测试考研试题下载...
  6. VM虚拟机三种网络模式详解
  7. 四川单招计算机网络试题,中职对口单招《计算机网络技术》和《软件技术》专业职业技能考试模拟题二...
  8. 大专的软件测试很难找工作,大专一毕业就从事软件测试工作好吗
  9. 几本.Net的经典书籍(转载)
  10. 免费下载中国地图china.js,在VUE使用echarts-map全国地图的方法和源码