《“透視”個人大資料》專案開發小記(ANDROID(Java,c++),C#)
現在進行軟體設計開發環境及方式較之以前,已經有了很大的改變,以前要買許多書籍來參考學習,進到書店總能看到有專門的書籍區域,現在一般書店已經基本看不到專門的有關計算機的書籍了。網路,GITHUB等成了碼農學習交流的主要方式,我也從這些平臺學到了很多東西,當專案研究開發取得了一些進展的時候,也希望將自己的經驗進行分享和交流。
隨著智慧手機功能的日益強大和普及,讓自己萌發了研究開發基於智慧手機的應用的軟體衝動,設想通過手機記錄日常生活中的個人大資料,構建“可視”的資料模型(比如可將自己的各種物品按位置存入手機,可以記錄日常的飲食等等),通過日常的大資料積累發掘價值資料(個人飲食結構,生活習慣等),方便日常生活,通過手機可以隨時隨地瞭解自己的方方面面,比如自己都有什麼衣服,需不需要購買新的,偏食了就調劑一下,運動少了就去健身或旅遊等等。
《“透視”個人大資料》專案就這樣誕生了(Big Data Everything Everywhere Everytime In View 簡稱BI3EVIEW)。這是一個研究性的專案,許多是在開發過程中
不斷的改進和完善。專案的架構分為手機客戶端,PC客戶端,伺服器端。手機客戶端目前只有ANDROID版,用Java,C++程式設計,開發工具Anroid studio ;PC客戶端是用C#程式設計,開發工具Visual Studio;伺服器端開始用apache-tomcat,後改為了C#。開發測試主要基於WIFI網路,資料傳輸採用的是自主設計的可動態加密的BS60協議。整個專案的核心是手機端的應用,PC客戶端及伺服器端,是一種探索性的研究。
一,BS60網路資料傳輸協議的資料結構
6 byte 資料標識頭:bs60HD
4 byte 總髮送位元組數
4 byte 系統執行網路標識ID
4 byte 擴充套件保留資料
4 byte 傳送的資料型別
2 byte 當前資料的動態加密型別組合碼(含密碼組號,加密等級)
1 byte 網路資料操作型別
4 byte 使用者ID
4 byte 事件ID
8 byte 資料傳送時間
1 byte 資料組數
資料組記錄格式:
1 byte 資料代號
1 byte 資料型別
資料位元組數:
byte 類 1 byte
short 類 2 byte
int 類 4 byte
float 類 4 byte
TEXT 類 4 byte 位元組數
PICTURE 類 4 byte 位元組數
TEXT和PICTURE類的資料可進行動態加密,密碼組隨機選擇,資料可以根據需要設定為30%加密(1級),60%加密(2級),100%加密(3級)。
二,手機客戶端APP軟體(Android)
資料管理部分用C++程式設計,UI介面用java程式設計。
2021年6月 開發完成了V1.0
主要功能有:
1,儲存事件記錄圖片,檢視記錄事件資料;
2,自定及完成本地定時任務;
3,網路連線註冊,登入,新增好友;
4,釋出網路任務,完成網路任務;
5,釋出網路分享,檢視網路分享。
2022年3月 開發完成併發布了 V1.5
主要改進部分:
“檢視事件列表”增加了多種列表形式。
新增了三個功能模組:
1,個人大資料庫(個人基本資料,價值資料),並實現了與“記錄事件”的關聯;
2, 打卡功能模組,可以按“日”,“周”,“月”,“年”分別設定打卡專案,可以自選設定專案圖片,可以關聯價值資料;
3, 記事簿功能模組,可以設定分類,可以自選設定專案圖片,可以按“名稱”,“型別”進行查詢。
2022年10月 開發完成併發布了 V1.7
這個版本是在原版本V1.5的基礎上,派生出來的一個純本地應用版本。
改進部分:
1,為便於移動端APP軟體的推廣應用,新版本關閉取消了互動網路部分,規範了APP的包名;
2,全面增強了圖片的編輯功能,選擇相簿或是拍照圖片時,允許對圖片進行編輯;
3,打卡增加了按時間排序;
4,記事薄增加了“特別提示”設定功能。
新增了二個功能模組:
1,增加了相簿圖片編輯功能模組;
2,增加了掃碼及生成二維碼的功能塊。
三,伺服器端
伺服器端依據BS60傳輸協議,通過網路,實現了與手機移動客戶端,PC客戶端資料的傳送和接收。
主要功能有:
1,移動端,PC端使用者的註冊,登入,新增好友;
2,管理使用者釋出及完成的網路任務;
3,管理使用者釋出的網路分享。
四,PC客戶端
PC端設計的主要功能是通過可視的時空實現對團隊活動的管理。實現途徑是通過釋出網路任務及檢查團隊成員任務的完成情況,實現對團隊活動的檢查監控。
目前的實現的主要功能:
1,網路連線註冊,登入,新增好友;
2,釋出網路任務,檢查網路任務;
3,釋出網路分享,檢視網路分享;
4,建立管理專案;
5,編輯裝置材料庫;
6,建立管理專案中的活動
1),在活動模型圖中建立標記事件,關聯網路任務;
2),模型圖中標記事件的選擇與修改;
3),模型圖顯示控制(放大,縮小,移動)。