最近想写段Android程序玩玩。开发环境 Eclipse ,Android 2.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);

Android手机通讯录备份还原代码下载地址

具体下载目录在 /pub/Android源码集锦/2011年/11月/Android手机通讯录备份还原代码/

android备份手机号码,Android手机通讯录备份还原代码相关推荐

  1. Android手机通讯录备份和恢复项目

    Android手机通讯录备份和恢复项目 附下载地址** 登录功能 注册功能 找回密码 修改密码 备份功能 恢复功能 恢复数据从服务器 导出为Excel文件 登录功能 注册功能 找回密码 同注册功能 修 ...

  2. 手机通讯录备份代码实现二

    手机通讯录备份代码实现二 package app.utils;import java.util.ArrayList; import java.util.List;import android.cont ...

  3. 手机通讯录备份代码实现一

    手机通讯录备份代码实现一 import java.io.BufferedReader; import java.io.FileInputStream; import java.io.FileNotFo ...

  4. 手机通讯录备份代码实现三

    前言 手机通讯录备份代码实现一和二的思路是通过 备份: while循环找到contact_id然后根据id找对应联系人所有电话和邮箱. 还原: 获取联系人列表通过for循环,一个一个插入手机通讯录 这 ...

  5. Android Studio中的手机通讯录开发

    Android Studio中的手机通讯录,包含功能(按首字母排序,动态添加) 第一次写博客,也刚踏入工作,想着把自己在项目中遇到的问题,以及自己在工作中所做的项目记录下来,方便以后自己查找知识,一开 ...

  6. 苹果通讯录怎么备份?手机通讯录备份的方法看这里!

    案例:手机通讯录怎么备份? [友友们,想问下苹果手机的通讯录怎么样才能进行备份?可以解答我的疑惑吗?感谢!] 在日常使用手机过程中,我们经常会遇到误删通讯录的情况.因此,备份通讯录是非常重要的,可以避 ...

  7. android app 手机号码,android 安卓APP获取手机设备信息和手机号码的代码示例 .

    下面我从安卓开发的角度,简单写一下如何获取手机设备信息和手机号码 准备条件:一部安卓手机.手机SIM卡确保插入手机里.eclipse ADT和android-sdk开发环境 第一步:新建一个andro ...

  8. android录屏弹窗,android视频截屏手机录屏实现代码

    本文介绍了android视频截屏&手机录屏实现代码,分享给大家,希望对大家有帮助 问题 在android中有时候我们需要对屏幕进行截屏操作,单一的截屏操作好解决可以通过activity的顶层v ...

  9. android手机通讯录备份还原代码,android手机通讯录备份还原代码

    最近想写段android程序玩玩. 开发环境 eclipse ,android2.2 开发环境搭建 1.先安装jdk 2.下载安装eclipse 3.下载安装android sdk 4.安装eclip ...

最新文章

  1. 码农新机会!2019-2020行业调查报告出炉,这个领域程序员缺口很大!
  2. 华为手机像素密度排行_2020拍照手机十大排行:华为128分破纪录,苹果无一上榜...
  3. 优先级调度和运行前调度的比较
  4. Linux内存管理 (26)内存相关工具
  5. android DatePicker
  6. ini文件中文乱码 python_python编程之ini文件处理-configparser模块应用
  7. J.U.C - AQS
  8. matlab当前目录下的相对路径
  9. 执行数据库命令Command对象——ADO.NET学习应用笔记之三
  10. Java、JSP在线问卷调查系统
  11. 思科Packet Tracer基础使用教程
  12. CIM+规划:自带CIM平台的数字规划咨询服务,提升城市空间价值和产业活力
  13. python初体验——单/双/三引号的用法
  14. 设置div中的背景颜色及div中的字体颜色
  15. VMware WorkStation虚拟机的安装及使用
  16. 小程序ibeacon三点定位
  17. linux怎么将一个文件移动到另一个目录下
  18. 关于pd.read_csv() 读数据的注意事项
  19. 算法之递归回溯(四)
  20. 《新编计算机科学概论》一第0章 绪  论

热门文章

  1. 【软件架构思想系列】分层架构
  2. 【myelipse】 myelipse2017 安装 及部署Tomcat
  3. 基于FFmpeg的视频播放器之十五:录像
  4. oa办公系统为什么被企业需要?
  5. Hack With javascript
  6. vite不支持 require 使用require报错 如何解决
  7. 食品生产车间温湿度监控系统
  8. freeswitch挂断事件表格
  9. 会员卡管理系统c语言代码,路西牌会员管理系统。
  10. 原来编码就是这么简单