android通讯录开发<一> 导出数据库

背景介绍

闲了几个月, 总算有点正经活干干了.
新需求就是要把服务器的客户联系方式导入或者同步到本地通讯录中, 在同步过程中如果有与本地相同的号码则取消并提示操作.

所以研究了下android的通讯录. 顺手贴一下所得.

参考资料:
1. http://www.cnblogs.com/liaojie970/p/5744580.html
2. https://www.2cto.com/kf/201412/359013.html
3. http://www.jianshu.com/p/d8a9a2918c61

前期准备, 使用adb shell的方式把联系人数据库从手机到处到PC端查看.

  1. win + R 命令 调出cmd控制台
  2. 敲入adb shell 进入adb调试, 数据线连接手机并打开屏幕停留在桌面.
  3. 敲入 su 命令, 即使用控制台获取root权限. 此时手机弹窗提示选择确认授予root权限.
  4. 发生错误时会出现这个提示 [-] Unallowed user , 如果正常不会有提示, 而是前缀变为[email protected]手机型号

    android通讯录开发<一> 导出数据库

  5. 使用命令 chmod 777 /data/data/com.android.providers.contacts/databases/contacts2.db 获取最高权限

  6. 在 android studio 中 选择 Tools - Android - Android Device Monitor

    android通讯录开发<一> 导出数据库

  7. 依次打开 /data/data/com.android.providers.contacts/databases/ 找到并选中 contacts2.db 数据库 选择右上角的导出按钮导出到桌面. 然后使用 这个工具 打开db文件

    android通讯录开发<一> 导出数据库

  8. 查看第二篇 - 数据表各字段含义