天天看點

團隊作業六

團隊項目設計文檔

1、系統框圖

  用機連接配接區域網路,通過手機app登入聊天室,發送消息就相當于在區域網路内發送廣播指令,即向區域網路内每個子ip發送一次資料包。

  • 系統框圖如下:

                

團隊作業六

2、系統結構框圖

  

  • 子產品結構圖:

     一共分為五個子產品:udp接收功能子產品、udp發送功能子產品、資料打包編碼子產品、資料分塊解碼子產品、UI設計美化子產品。

團隊作業六

    項目流程圖:  使用者進入app後會提示輸入昵稱和性别,點選登入鍵後進入聊天室。此時背景會開啟udp接收端,持續監聽。使用者每次輸入聊天内容發送資料後,都會向區域網路内發送廣播資料。其他同一時段登入的使用者就會接收到消息。

團隊作業六

3、具體子產品設計

   通信示意圖如下:

團隊作業六

1、udp接收功能子產品

  區域網路通信接收端搭建對應我們隊員發送端采用的Udp通信協定,是以我寫的接收端也是Udp通信協定,socket通信方式。 端口 8080。

首先我們WeChat有兩Activity界面,當第二個界面即聊天界面開啟時,背景将會自動開啟監聽端口8080,每當收到資料包時都會交給解碼的隊員所寫的部分進行解碼。

其次這個監聽不會因為收到資料而終止,它是在背景一直運作的,直至使用者退出WeChat。

2、udp發送功能子產品

  區域網路通信發送端搭建采用的是Udp通信協定,socket通信方式即套接字,用于描述IP位址和端口。這裡我們采用的是廣播IP即255.255.255.255 選擇固定的端口号:8080

Udp廣播是指向區域網路内標明端口的所有ip位址都發送一條資料,我們采用了這個特性,即每當使用者點選發送按鈕時,我們會向區域網路内所有登入WeChat的使用者發送資料。該資料

是由我們隊伍成員編碼過得。

3、資料打包編碼、解碼子產品

團隊作業六

4、UI設計美化子產品

  .9圖即圖檔字尾名前有.9的圖檔,如:  pic.9.png.9圖檔的作用是在圖檔拉伸的時候特定的區域不會發生圖檔失真,即我們可以標明可以拉伸的區域和不可拉伸的區域。

就像如圖所示的聊天氣泡,當發送的消息沒有超過圖檔本身大小時不會發生什麼,一旦當發送的消息超過了圖檔本身的大小時,就需要拉伸一定的區域。此時我們就需要用到.9圖。

此外我還負責一些按鈕圖的圓潤化等美工工作。

團隊作業六

5、整合代碼、适配控件

    我負責整合大家分别寫的代碼,給APP适配相應的控件以及界面友好化等工作。适配控件——例如:當接收端接收到發送端發來的資料包,資料包被解碼成資料塊,我負責的是将資料塊填充到控件中,展示在手機上。 界面友好——例如:當使用者輸入的昵稱為空或發送的消息為空時,界面會彈出Toast提示。