Advertisement

Android手机通讯录的备份和还原代码。

  •  5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:None


简介:
最近计划开发一段Android应用程序进行尝试。开发环境为Eclipse,并搭建了Android 2.2的开发环境。首先,需要安装Java Development Kit (JDK),然后下载并安装Eclipse,接着下载安装Android Software Development Kit (SDK)。之后,需要在Window > Preferences中配置Android SDK的路径。创建Android Virtual Device (AVD) 的方法相当简单。首先,将通讯录中的联系人以及电话号码备份到txt文件中。随后,读取该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. 读取通讯录联系人:`Cursor cur = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null); if (cur.moveToFirst()) { ... }` 4. 读取文件代码:`try { File file = new File(/sdcard/test.txt); FileInputStream inStream = new FileInputStream(file); ByteArrayOutputStream outStream = new ByteArrayOutputStream(); ... } catch (IOException e){ setTitle(e.toString()); }` 5. 写入通讯录:`ContentValues values = new ContentValues(); Uri rawContactUri = getContentResolver().insert(RawContacts.CONTENT_URI, values); ...` 如果发现任何不合理之处或有改进建议,请通过邮件328452421@qq.com联系朱晓(请注意,该邮箱可能长期无法访问)。期待您的交流与反馈,谢谢!

全部评论 (0)

还没有任何评论哟~
客服
客服
  • Android.rar
    优质
    这段代码用于实现安卓设备上联系人的备份与恢复功能,方便用户在更换手机或意外丢失数据时能快速地迁移和复原重要信息。 通讯录备份还原工具提供了一个名为“通讯录备份还原.rar”的文件下载。该工具帮助用户轻松地进行手机通讯录的备份与恢复操作。请确保在使用前检查文件的安全性,并根据需要安装必要的软件来解压和运行此RAR文件。
  • Android与恢复
    优质
    本项目提供了一种便捷的方法来实现安卓设备上通讯录数据的备份及恢复功能,通过编写相关代码可以有效地帮助用户防止数据丢失。 最近想尝试编写一些Android程序来玩一玩。开发环境使用Eclipse, 并搭建了基于Android 2.2的开发环境。 1. 首先安装JDK。 2. 下载并安装Eclipse。 3. 下载和安装Android SDK。 4. 安装适用于Eclipse的ADT插件(Android Development Tools)。 5. 在Window > Preferences中配置Android SDK路径。 6. 创建AVD(模拟器设备)。 实现方法很简单: 1. 将通讯录中的联系人及电话号码保存到txt文件,以完成备份工作; 2. 从txt文件读取数据并将其导入到手机的通讯录中,以此来恢复之前的数据。 具体代码示例如下: - 添加权限:在AndroidManifest.xml 文件中添加以下内容。 ```xml ``` - 写文件代码: ```java 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()); } ``` - 取通讯录联系人: ```java 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()); } ``` - 读取文件代码: ```java 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; 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()); } ``` - 写入通讯录代码: ```java 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个人
    优质
    Android个人通讯录备份是一款专为安卓用户设计的应用程序,它能够帮助您轻松地将手机中的联系人数据进行云端存储或导出至电脑,确保重要信息永不丢失。 这是一款关于Android个人手机通讯录的应用程序源码。具体的操作步骤可以在我的博客文章中找到:https://blog..net/m0_46153949/article/details/105681063(注:此处原文包含链接,重写时去除了链接信息)。 简化后的内容如下: 这是一款关于Android个人手机通讯录的应用程序源码。具体的操作步骤可以在我的博客中找到。
  • Android实现
    优质
    本项目旨在通过Android开发技术实现对手机内置通讯录的操作和管理功能,提供代码示例供学习参考。 实现一个Android手机通讯录程序,参考市面上的通讯录应用功能编写一个简单的版本。该程序应具备添加联系人、删除联系人、修改联系人及查询联系人的基本操作。每个记录至少需要包含姓名和电话号码两个字段。
  • 关于Android分析
    优质
    本文章将深入探讨Android手机中通讯录功能的相关代码细节,旨在帮助开发者更好地理解并优化其应用程序与系统联系人之间的交互。 基于Android的手机通讯录代码功能非常完善,包括增删改联系人、添加分组、添加联系人头像以及查找联系人的操作,并且可以实现找到后发短信或者打电话的功能。分享给大家!绝对给力!
  • Android实现
    优质
    《Android手机通讯录源码实现》一书深入剖析了Android系统中通讯录应用的底层架构与代码细节,适合移动开发人员学习参考。 Android手机通讯录的实现源码可以在相关博客中找到。该博客详细介绍了如何在Android设备上开发和优化通讯录功能。
  • Android
    优质
    Android手机备忘录的源代码提供了对安卓设备中内置应用“备忘录”的底层技术细节深入了解的机会。此资源适合开发者参考学习,以优化笔记或日程类应用程序的设计与开发。 Android手机备忘录源代码实用性很强。
  • Android
    优质
    Android通讯录代码源提供全面解析安卓设备联系人管理的应用程序开发资源,包括数据库操作、界面展示和功能实现等技术细节。适合开发者深入学习与交流。 在Android平台上,通讯录是系统的核心功能之一,它允许用户管理他们的联系人信息,包括姓名、电话号码、电子邮件地址等。对于开发者来说,理解和掌握如何在Android应用中实现通讯录功能至关重要。本篇文章将深入解析android通讯录源码,帮助你了解Android通讯录功能的实现原理和技巧。 首先,Android通讯录的实现基于Android提供的Contacts Provider框架。这是一个内容提供者(Content Provider),存储并管理着系统的联系人数据。通过ContentResolver接口,我们可以查询、插入、更新或删除联系人信息。例如,你可以使用`ContentResolver.query()`方法来获取联系人列表,`ContentResolver.insert()`来新增联系人,`ContentResolver.update()`进行修改,以及`ContentResolver.delete()`来删除联系人。 源码中的关键组件可能包括: 1. **UI设计**:Android应用通常使用RecyclerView展示通讯录列表,并配合自定义的Adapter将数据模型绑定到视图上。每个条目可以包含姓名、头像和电话号码等信息,同时还会提供搜索框用于快速查找联系人以及添加或编辑联系人的按钮。 2. **权限管理**:访问通讯录需要用户授权,在Android 6.0及以上版本中,你需要在运行时请求`READ_CONTACTS`和`WRITE_CONTACTS`权限。 3. **数据操作**:源码会包含对ContactsContract类的使用。这是与Contacts Provider交互的主要方式之一。例如,通过ContactsContract.CommonDataKinds.Phone获取电话号码以及通过ContactsContract.CommonDataKinds.Email获取电子邮件地址。 4. **数据同步**:为了保持应用内的通讯录和系统通讯录一致,源码可能会监听系统广播(如ACTION_CONTACTS_CHANGED),当系统中的联系人发生变化时自动更新应用内数据。 5. **用户体验优化**:优秀的通讯录应用程序会在细节上下功夫,比如提供流畅的动画效果、合理的布局设计以及便捷的操作流程等。这有助于提升用户满意度和使用体验。 6. **短信集成**:某些通讯录应用还整合了发送接收短信的功能,允许直接通过联系人界面进行操作。这一特性通常涉及到对SMS表的数据查询与处理。 7. **性能优化**:针对大量数据的查询可能会影响应用程序性能,因此源码中可能会采用CursorLoader或LiveData等机制来高效地管理大数据量的操作流程,并确保不会阻塞主线程运行。 8. **备份和恢复功能**:为了方便用户管理和保护个人通讯录信息,应用可以提供将联系人列表保存到云端或者本地文件的功能,并从这些位置进行数据的恢复操作。 9. **隐私安全措施**:源码中可能包含了对敏感信息加密处理以及遵循相关法律法规的要求来保障用户的隐私权益不受侵害。 通过对android通讯录源码的学习,开发者可以掌握如何在Android应用中构建一个完整且功能丰富的通讯录系统,并理解优化用户体验和管理用户数据的方法。这对于开发涉及通讯录功能的Android应用程序来说是非常宝贵的实践经验。
  • Acronis True Image 2019 异
    优质
    Acronis True Image 2019提供全面的数据保护解决方案,特别擅长异机还原备份,确保用户数据的安全性和可恢复性。 实测效果非常好,可以对系统进行克隆,并实现异机还原。所谓异机还原就是指将老电脑上的Windows 7备份到新电脑上,完美解决了驱动不一致的问题,让你在换电脑时无需担心文档丢失或兼容性问题。此外还提供了详细的图文教程帮助操作。本资源包含相关软件工具。