`
bd2007
  • 浏览: 395027 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论
阅读更多

    <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;">邮件联系328452421@qq.com(qq常年不在线,邮件联系)</span><a href="mailto:328452421@qq.com" 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
 
0
0
分享到:
评论

相关推荐

    android手机通讯录备份还原

    - 应用商店下载:如“通讯录备份”等应用,它们提供了简单的备份功能,只需一键操作即可将通讯录保存到本地或云存储。 - 备份过程:安装应用后,按照提示进行操作,通常包括选择备份位置(如SD卡、云端存储)、...

    Android代码-通讯录备份还原.rar

    这个"Android代码-通讯录备份还原.rar"压缩包中可能包含了一个实现这一功能的源码示例。\n\n首先,我们来看通讯录备份的过程。在Android中,通讯录主要存储在ContentProvider中,通过ContactsContract类进行访问。...

    android通讯录备份与还原

    总结来说,实现Android通讯录的备份与还原,主要涉及到VCard解析技术,使用ContentResolver和ContactsContract类读取Android手机中的通讯录数据,以及文件操作来完成数据的保存和恢复。通过这样的方法,我们可以为...

    android通讯录Excel备份还原

    通讯录备份软件是为了方便Android手机用户而开发的一款通讯录导入导出的手机应用程序,通过它可以方便的将手机通讯录导出成Excel表,和将规定格式的Excel表导入到手机通讯录。

    Android高级应用源码-通讯录+备份还原.zip

    【Android高级应用源码-通讯录+备份还原.zip】是一个包含Android应用程序源代码的压缩包,专注于实现通讯录管理和备份还原功能。这个项目对于开发者来说是深入理解Android平台上的通讯录操作、数据存储以及备份机制...

    安卓通讯录联系人打电话归属地相关-通讯录备份还原.rar

    这个压缩包文件"安卓通讯录联系人打电话归属地相关-通讯录备份还原.rar"主要涵盖了关于安卓系统中通讯录管理、联系人信息处理以及打电话时显示归属地的相关技术知识点。通过分析其包含的文件,我们可以深入理解以下...

    通讯录备份还原

    本项目针对这一需求,提供了一套完整的源码解决方案,可以直接进行编译,帮助开发者理解和实现Android设备上的通讯录备份与还原功能。 首先,我们要理解Android系统的通讯录存储机制。Android系统将通讯录存储在...

    基于Android的手机通讯录设计书

    通过对现有通讯录应用的研究,需求分析主要涉及五种用户行为:增加、删除、修改、查询和备份还原。此外,通过数据流图三层结构(顶层、第一层、第二层)和数据字典,对系统功能进行了深入解析。 7. **系统设计** ...

    安卓课程设计-手机通讯录系统全解.doc

    《安卓课程设计-手机通讯录系统全解》 在当今移动通信与互联网融合的时代,用户对手机功能的需求日益增长,而传统的手机操作系统如Symbian、Windows Mobile等已无法满足这些需求。在这种背景下,Android应运而生。...

    Android手机通讯录的设计与分析.pdf

    这个通讯录系统充分考虑了用户需求和安全性,不仅提供了基础通讯录功能,还通过创新的备份还原和私密联系人功能提升了用户体验。通过Android的开放性和灵活性,开发者得以创建这样一个功能完善的通讯录应用。

    基于android手机通讯录的设计与实现的毕业论文

    - 实现通讯录数据的备份和恢复功能,以便在需要时可以轻松地还原数据。 - 提供联系人信息的分类和分组功能,方便用户根据自己的需求进行管理和查找。 - 集成社交网络功能,使用户可以将通讯录中的联系人信息与社交...

    基于Android的手机通讯录设计书.pdf

    * 数据备份与还原:可以将整个通讯录备份到SD卡上,以防止信息丢失,或者将备份的数据还原到通讯录中。 2. 功能描述 该手机通讯录系统的数据需求主要包括: * 联系人的姓名、手机、家庭电话、公司电话、单位、...

    专题资料(2021-2022年收藏)基于Android的手机通讯录设计书.doc

    - 通过调研现有手机通讯录,确定了用户行为需求,如增加、删除、修改、查询联系人信息,以及备份和还原数据。 - 使用数据流图(DFD)进行需求建模,包括顶层、第一层和第二层数据流图,以清晰表示系统的功能和数据...

    ContactBackupStudy.zip

    总结来说,"ContactBackupStudy.zip"提供了一种高效的Android通讯录备份与还原解决方案,它的实现细节值得深入研究和学习。通过对数据读取、处理和存储的优化,实现了快速备份和还原,同时也充分考虑了用户隐私的...

    andorid通讯录,基础练手app

    andorid通讯录,基础练手app。 包括: 1.Android中的布局管理及资源文件的使用 2.Android中的ListView及ExpandableListView高级...13.通讯录的备份与还原 买教学视频花了好多大洋的……做好了代码分享跟大家学习下吧~

    玩转手机 提取通讯录

    能向导 轻松连接 可通过USB数据线和Wi-Fi与PC连接,支持多款Android手机...一键备份/还原短信、联系人等手机信息,不再担心数据丢失。管理手机 高效放心 手机数据,轻松管理;密码启动,保护隐私;手机截屏,轻松共享。

Global site tag (gtag.js) - Google Analytics