玩轉通訊錄備份(JNI實戰)

需求分析
在2年前就學過安卓開發,那時候安卓開發還是很火,但是感覺現在不怎麼熱潮了,這學期剛好有門c++課,實現通訊錄備份,網路通訊使用socket通訊,伺服器端用c++,客戶端用c++,介面用 android編寫。
詳細需求為:
使用android開發一款手機通訊錄APP,介面用java編寫,需要實現將通訊錄備份到TF卡及伺服器,通訊處使用C++實現。

UML設計
1.總體設計

image
-
android資料讀取
-
資料TF備份
-
資料通過JNI傳輸
-
C++實現客戶端編寫接受jin傳送資料及傳送資料
-
C++實現伺服器接受客戶端及資料儲存
-
撥打電話功能
2.資料協議傳輸

客戶端與伺服器端協議傳輸!
3.UML類圖

該專案總共4個類,具體類描述如上註釋所示!
4.UML時序圖

用時序圖來描述專案的生存週期動態狀態!

執行展示
1.備份遠端

左圖是伺服器,備份到遠端sqlite資料庫,右圖是執行展示!
2.備份本地

備份到TF卡!

核心程式碼
1.通訊錄獲取

使用ContentResolver來實現通訊錄資料的獲取!
2.儲存TF卡

3.客戶端

客戶端通過jni傳送資料
4.伺服器端

伺服器端接收資料
讓我們開啟手機,
一起踏上手機通訊錄備份吧!
免費獲取更多安卓開發架構的資料(包括Fultter、高階UI、效能優化、架構師課程、 NDK、混合式開發(ReactNative+Weex)和一線網際網路公司關於android面試的題目彙總可以加:936332305 / 連結:點選連結加入【安卓開發架構】: https://jq.qq.com/?_wv=1027&k=515xp64

