玩转通讯录备份(JNI实战)

15234279-2cae4e97151d13f1.png

需求分析

在2年前就学过安卓开发,那时候安卓开发还是很火,但是感觉现在不怎么热潮了,这学期刚好有门c++课,实现通讯录备份,网络通信使用socket通信,服务器端用c++,客户端用c++,界面用 android编写。

详细需求为:

使用android开发一款手机通讯录APP,界面用java编写,需要实现将通讯录备份到TF卡及服务器,通信处使用C++实现。

15234279-3c560024b6f199f3

UML设计

1.总体设计

15234279-cbf67a375667c7d0
image
  • android数据读取

  • 数据TF备份

  • 数据通过JNI传输

  • C++实现客户端编写接受jin传送数据及发送数据

  • C++实现服务器接受客户端及数据存储

  • 拨打电话功能

2.数据协议传输

15234279-c7c88a8e487383e9

客户端与服务器端协议传输!

3.UML类图

15234279-6449a54ab25d8149

该项目总共4个类,具体类描述如上注释所示!

4.UML时序图

15234279-81a376df9ca88d36

用时序图来描述项目的生存周期动态状态!

15234279-9dfc7d8d10e70335

运行展示

1.备份远程

15234279-8aadd61e5d98973c

左图是服务器,备份到远端sqlite数据库,右图是运行展示!

2.备份本地

15234279-5cf2b2255ea5df8b

备份到TF卡!

15234279-461298fe23d72377

核心代码

1.通讯录获取

15234279-cddb10de6b0f78f2

使用ContentResolver来实现通讯录数据的获取!

2.存储TF卡

15234279-c19d72299d48efa6

3.客户端

15234279-4d322c76c4c704af

客户端通过jni发送数据

4.服务器端

15234279-ad7a0d3281c43bae

服务器端接收数据

让我们打开手机,

一起踏上手机通讯录备份吧!

免费获取更多安卓开发架构的资料(包括Fultter、高级UI、性能优化、架构师课程、 NDK、混合式开发(ReactNative+Weex)和一线互联网公司关于android面试的题目汇总可以加:936332305 / 链接:点击链接加入【安卓开发架构】:https://jq.qq.com/?_wv=1027&k=515xp64

15234279-da01a7dafcc80891.png
15234279-1571cf911df4c27e

猜你喜欢

转载自blog.csdn.net/weixin_34268843/article/details/87379870