- 浏览: 395832 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (285)
- test (0)
- 分类 (1)
- java (281)
- tttttttttttt (1)
- android程序复制数据库 (1)
- Hibernate 动态 HQL (1)
- java编写扑克的洗牌程序 (1)
- NIO 之 选择就绪模式 (1)
- wpo另类问题:不可轻视的蜘蛛爬行对服务器造成的负担 (1)
- haml (1)
- cvcvcvc (1)
- 开源史上最成功的8个开源产品 (1)
- XML文件转换成Word文件或者Excel文件 (1)
- 一些利用开源浏览器核心开发专用浏览器的连接 (1)
- 毛笔效果简单思路 (1)
- 年终考评以后 (1)
- RFC821 简单邮件传输协议(SMTP)中文定义文档 (1)
- JNI中jstring类型与c语言中的字符串的转换 (1)
- 极限编程(XP)的重构与设计模式 (1)
- MapInfo2005年第三期电子新闻 (1)
- 想到目前各BLOG站点和搜索引擎的一点点缺陷 (1)
- 成功通过DB2的700和701考试 (1)
- 基于记录登陆信息的防止网页暴力破解方法 (1)
- Router路由 (1)
- 终于稍微完整的学习了一下Linux (1)
- android手机通讯录备份还原代码 (1)
- Qt之美(一):d指针/p指针详解 (1)
- DB2 静默安装 (1)
- linux开机启动脚本的顺序 (1)
- Hibernate实体对象的三种状态 (1)
- Hibernate面向对象的hql语句 (1)
- ibatIS调用存储过程 (1)
- Linux启动过程(详细说明) (1)
- C3P0配置 (1)
- memcache安装 (1)
- js event.keyCode (1)
- java获取汉子首字母 (1)
- Eclipse GC log (1)
- java轻量级httpserver (1)
最新评论
-
smilea001:
我知道了,作者采用的是gbk编码,我采用的是utf-8编码,
java获取汉子首字母 -
smilea001:
我输入的也是--
java获取汉子首字母 -
di1984HIT:
写的不错啊。
Router路由 -
kaixinyou:
...
2011.07.20——— android 获得当前view在屏幕的坐标 -
zhengjianbo:
你好,可以将你的实现代码公布下吗!万分感谢!
毛笔效果简单思路
<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
发表评论
-
java轻量级httpserver
2012-02-08 11:48 1615httpclient+httpserver demo ... -
Eclipse GC log
2012-02-04 16:59 1456为了查看Eclipse GC log,需要在eclip ... -
java获取汉子首字母
2012-02-03 09:14 1550public class StringUtil { ... -
js event.keyCode
2012-02-03 09:09 1240<span style="" ... -
memcache安装
2012-02-02 12:04 1193? <blockquote> 1. ... -
C3P0配置
2012-02-02 11:34 1016cquireIncrement[3] ... -
Linux启动过程(详细说明)
2012-02-01 09:09 1611<div class="post ... -
ibatIS调用存储过程
2012-01-31 15:38 1635<p>一、ibatIS调用存储过程(调用存 ... -
Hibernate面向对象的hql语句
2012-01-11 13:14 1025Hibernate中hql条件语句的书写方式有: ? ... -
Hibernate实体对象的三种状态
2012-01-11 12:59 1303<p style="text- ... -
linux开机启动脚本的顺序
2011-12-21 15:14 1153下开机自动启动脚本所涉及的知识和方法、如下: ... -
DB2 静默安装
2011-12-21 11:59 1087<span style="color: ... -
Qt之美(一):d指针/p指针详解
2011-12-20 15:14 2028[/b]2011.11.16 [size=18px;] ... -
终于稍微完整的学习了一下Linux
2011-12-19 12:14 1200Linux以前也装过两次,不过几乎没去用。头几天看一些 ... -
Router路由
2011-12-19 10:54 1210Router路由:设定线的轨迹,在Connection ... -
基于记录登陆信息的防止网页暴力破解方法
2011-12-17 10:49 1457对黑客方面比较感兴趣的或者是比较熟悉的,应该知道溯雪这 ... -
成功通过DB2的700和701考试
2011-12-16 17:27 889嘿嘿,原以为比较没有信心的701考试也被俺成功的攻克了 ... -
想到目前各BLOG站点和搜索引擎的一点点缺陷
2011-12-15 15:54 902感觉无聊,就到中国博客网的首页逛了逛,想看看有没有什么 ... -
MapInfo2005年第三期电子新闻
2011-12-15 10:49 936<span lang="EN-US&q ... -
极限编程(XP)的重构与设计模式
2011-12-14 20:58 1488</span></span>& ...
相关推荐
- 应用商店下载:如“通讯录备份”等应用,它们提供了简单的备份功能,只需一键操作即可将通讯录保存到本地或云存储。 - 备份过程:安装应用后,按照提示进行操作,通常包括选择备份位置(如SD卡、云端存储)、...
这个"Android代码-通讯录备份还原.rar"压缩包中可能包含了一个实现这一功能的源码示例。\n\n首先,我们来看通讯录备份的过程。在Android中,通讯录主要存储在ContentProvider中,通过ContactsContract类进行访问。...
总结来说,实现Android通讯录的备份与还原,主要涉及到VCard解析技术,使用ContentResolver和ContactsContract类读取Android手机中的通讯录数据,以及文件操作来完成数据的保存和恢复。通过这样的方法,我们可以为...
通讯录备份软件是为了方便Android手机用户而开发的一款通讯录导入导出的手机应用程序,通过它可以方便的将手机通讯录导出成Excel表,和将规定格式的Excel表导入到手机通讯录。
【Android高级应用源码-通讯录+备份还原.zip】是一个包含Android应用程序源代码的压缩包,专注于实现通讯录管理和备份还原功能。这个项目对于开发者来说是深入理解Android平台上的通讯录操作、数据存储以及备份机制...
这个压缩包文件"安卓通讯录联系人打电话归属地相关-通讯录备份还原.rar"主要涵盖了关于安卓系统中通讯录管理、联系人信息处理以及打电话时显示归属地的相关技术知识点。通过分析其包含的文件,我们可以深入理解以下...
本项目针对这一需求,提供了一套完整的源码解决方案,可以直接进行编译,帮助开发者理解和实现Android设备上的通讯录备份与还原功能。 首先,我们要理解Android系统的通讯录存储机制。Android系统将通讯录存储在...
通过对现有通讯录应用的研究,需求分析主要涉及五种用户行为:增加、删除、修改、查询和备份还原。此外,通过数据流图三层结构(顶层、第一层、第二层)和数据字典,对系统功能进行了深入解析。 7. **系统设计** ...
《安卓课程设计-手机通讯录系统全解》 在当今移动通信与互联网融合的时代,用户对手机功能的需求日益增长,而传统的手机操作系统如Symbian、Windows Mobile等已无法满足这些需求。在这种背景下,Android应运而生。...
这个通讯录系统充分考虑了用户需求和安全性,不仅提供了基础通讯录功能,还通过创新的备份还原和私密联系人功能提升了用户体验。通过Android的开放性和灵活性,开发者得以创建这样一个功能完善的通讯录应用。
- 实现通讯录数据的备份和恢复功能,以便在需要时可以轻松地还原数据。 - 提供联系人信息的分类和分组功能,方便用户根据自己的需求进行管理和查找。 - 集成社交网络功能,使用户可以将通讯录中的联系人信息与社交...
* 数据备份与还原:可以将整个通讯录备份到SD卡上,以防止信息丢失,或者将备份的数据还原到通讯录中。 2. 功能描述 该手机通讯录系统的数据需求主要包括: * 联系人的姓名、手机、家庭电话、公司电话、单位、...
- 通过调研现有手机通讯录,确定了用户行为需求,如增加、删除、修改、查询联系人信息,以及备份和还原数据。 - 使用数据流图(DFD)进行需求建模,包括顶层、第一层和第二层数据流图,以清晰表示系统的功能和数据...
总结来说,"ContactBackupStudy.zip"提供了一种高效的Android通讯录备份与还原解决方案,它的实现细节值得深入研究和学习。通过对数据读取、处理和存储的优化,实现了快速备份和还原,同时也充分考虑了用户隐私的...
andorid通讯录,基础练手app。 包括: 1.Android中的布局管理及资源文件的使用 2.Android中的ListView及ExpandableListView高级...13.通讯录的备份与还原 买教学视频花了好多大洋的……做好了代码分享跟大家学习下吧~
能向导 轻松连接 可通过USB数据线和Wi-Fi与PC连接,支持多款Android手机...一键备份/还原短信、联系人等手机信息,不再担心数据丢失。管理手机 高效放心 手机数据,轻松管理;密码启动,保护隐私;手机截屏,轻松共享。