最近想写段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.添加 通讯录读写权限,存储卡写权限

<uses-permission android:name="android.permission.READ_CONTACTS"></uses-permission>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.WRITE_CONTACTS"></uses-permission>

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常年不在线,邮件联系)朱晓 。相互交流 谢谢

源码下载地址http://download.csdn.net/detail/xiaoxiao108/3741045

更多相关文章

  1. Android(java)学习笔记126:Android(安卓)Studio中build.gradle简介
  2. Android应用开发试题(收集)
  3. activity以dialog形式显示
  4. Android(安卓)Studio项目应该提交哪些文件到GitHub上
  5. Android下文件操作模式(含SDCard的读写)
  6. Lottie动画
  7. android声音调整源代码分析
  8. Android(安卓)pm命令详解
  9. NPM 和webpack 的基础使用

随机推荐

  1. android adb adbd analyse
  2. Android(安卓)封装http请求的工具类
  3. android 加法程序
  4. Android自动化测试
  5. Android(安卓)简单的从本机获取相机功能
  6. PopupWindow的使用
  7. [Android]BroadcastQueue如何分发广播(四)
  8. android调用系统邮件组件(intent匹配的流
  9. Android多分辨率适配
  10. Android文件操作