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


    <span style="font-family: Arial; font-size: 14px; line-height: 26px;"></span>

最近想写段android程序玩玩。

<br>

开发环境 eclipse ,android2.2

开发环境搭建

1.先安装jdk

2.下载安装eclipse

3.下载安装android sdk

4.安装eclipse插件 adt

5.配置Window > Preferences 中的android sdk路径

6.创建AVD

<br>



实现方法很简单<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;">
1.把通讯录中的联系人,电话号码保存到txt文件中完成备份。<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;">
2.读取txt文件,导入到通讯录完成还原。<br>



具体代码<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;">
1.添加 通讯录读写权限,存储卡写权限

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

2.写文件代码

   <span style="white-space: pre;"> </span>File saveFile=new File("/sdcard/test.txt");<br>
        FileOutputStream outStream;<br><span style="white-space: pre;"></span>try {<br><span style="white-space: pre;"></span>outStream = new FileOutputStream(saveFile);<br><span style="white-space: pre;"></span>   outStream.write(str.getBytes());<br><span style="white-space: pre;"></span>   outStream.close();<br><span style="white-space: pre;"></span>} catch (Exception e) {<br><br><br><span style="white-space: pre;"></span>setTitle(e.toString());<br><span style="white-space: pre;"></span>}<br>



3.取通讯录联系人

<span style="white-space: pre;"> </span>str="";<br>
   Cursor cur = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null); <br>
   if (cur.moveToFirst()) { <br>
     int idColumn = cur.getColumnIndex(ContactsContract.Contacts._ID); <br>
     int displayNameColumn = cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME); <br>
     do { <br>
       String contactId = cur.getString(idColumn); <br>
       String disPlayName = cur.getString(displayNameColumn); <br>
       str+=disPlayName;<br>
       int phoneCount = cur.getInt(cur.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER)); <br>
       if(phoneCount>0){ <br>
         Cursor phones = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null,ContactsContract.CommonDataKinds.Phone.CONTACT_ID+ " = " + contactId, null, null);<br>
         int i=0;<br>
         String phoneNumber;<br>
         if(phones.moveToFirst()){ <br>
           do{ <br><span style="white-space: pre;"> </span>i++;<br>
             phoneNumber= phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));<br>
             if(i==1)<br>
             str=str+","+phoneNumber;<br>
             System.out.println(phoneNumber); <br>
           }while(phones.moveToNext()); <br>
         } <br>
       } <br>
       str+="\r\n";<br>
       } while (cur.moveToNext()); <br>
   } <br>
   }
<br>
4.读文件代码

   <span style="white-space: pre;"> </span>try {<br><span style="white-space: pre;"></span>File file = new File("/sdcard/test.txt");<br><span style="white-space: pre;"></span>FileInputStream inStream = new FileInputStream(file);<br><span style="white-space: pre;"></span> ByteArrayOutputStream outStream = new ByteArrayOutputStream();<br><span style="white-space: pre;"></span> byte[] buffer = new byte[1024*5];<br><span style="white-space: pre;"></span> int length = -1;<br><span style="white-space: pre;"></span> while((length = inStream.read(buffer)) != -1 ){<br><span style="white-space: pre;"></span> outStream.write(buffer, 0, length);<br><span style="white-space: pre;"></span> }<br><span style="white-space: pre;"></span> outStream.close();<br><span style="white-space: pre;"></span> inStream.close();<br><span style="white-space: pre;"></span> String txt= outStream.toString();<br>

<span style="white-space: pre;"> </span>} catch (IOException e){<br><span style="white-space: pre;"></span>  setTitle(e.toString());<br><span style="white-space: pre;"></span>}

<br>

5.写通讯录

<span style="white-space: pre;"> </span>ContentValues values = new ContentValues();<br><span style="white-space: pre;"></span>Uri rawContactUri = getContentResolver().insert(RawContacts.CONTENT_URI, values);<br><span style="white-space: pre;"></span>long rawContactId = ContentUris.parseId(rawContactUri);<br><span style="white-space: pre;"></span>values.clear();<br><span style="white-space: pre;"></span>values.put(Data.RAW_CONTACT_ID, rawContactId);<br><span style="white-space: pre;"></span>values.put(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE);<br><span style="white-space: pre;"></span>values.put(StructuredName.GIVEN_NAME, name);<br><span style="white-space: pre;"></span>getContentResolver().insert(Data.CONTENT_URI, values);<br><span style="white-space: pre;"> </span>values.clear();<br><span style="white-space: pre;"></span>values.put(Data.RAW_CONTACT_ID, rawContactId);<br><span style="white-space: pre;"></span>values.put(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE);<br><span style="white-space: pre;"></span>values.put(Phone.NUMBER, num);<br><span style="white-space: pre;"></span>values.put(Phone.TYPE, Phone.TYPE_HOME);<br><span style="white-space: pre;"></span>getContentResolver().insert(Data.CONTENT_URI, values);<br>

<br>

<br>

<br>

<br>

<br>

<br>

如果你发现有什么不合理的,需要改进的地方,或者你有什么更好的实现方法<span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: 'lucida Grande',Verdana; font-size: 14px; line-height: 23px;">邮件联系[email protected](qq常年不在线,邮件联系)</span><a href="mailto:[email protected]" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(255,153,0); text-decoration: none;"></a>朱晓
。相互交流 谢谢



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

你可能感兴趣的:(java,工作)