項目報告(最終版)

簡單聊天系統項目報告

   二十一世紀將是信息化、網絡化的年代,以簡捷、快速爲表明的即時通信工具,已經成爲當前網絡用戶最喜好的溝通工具。2007年11月,Google推出了一個專爲移動設備設計的軟件平臺——Android。Android手機平臺的應用正是在這種需求中不斷髮展壯大。Android應用用需求的增長,已經吸引無數軟件開發廠商投身其中,Android的開放性使其比蘋果、黑莓、windows等對年輕人更具吸引力,同時Android還具備應用程序無界限、應用程序輕鬆嵌入網絡、應用程序可並行運行等衆多出色的品質,使其具備其餘於機平臺沒法比擬的優點和發展空削。近兩年,移動端的應用不斷深刻平常生活,2015天貓「雙11」全球狂歡節交易額超912億元,其中移動端佔比 68% 。再創歷史新高。結合現有資料,做爲一個Android平臺開發的初學者,本次選擇完成一個基於Scocket通訊的簡單聊天軟件的實現。java

1、項目簡介

1.1 Adroid性能特色

(1)開放源代碼
   Android平臺開放源代碼是它的主要優點之一,任何移動終端廠商均可以不受限制的加入到Android聯盟中。顯著的開放性吸引了衆多優秀的開發者加入聯盟,隨着日益豐富的應用和用戶人數的不斷增長,一個嶄新的平臺日臻成熟。
(2)自由的開發商
   Android平臺爲第三方開發商提供了一個很是白由、寬泛的環境。開發商所以不會受到各類條款的制約,這樣促使了衆多別緻新穎的軟件誕生,軟硬件資源變得無限豐富。但其也存在缺點,好比暴力、血腥、情色等不利於青少年健康成長的遊戲和程序同時應運而生,如何解決這類負面影響正是留給Android系統一大難題。
(3)Goog1e應用的完美結合
   Google公司發展到如今已經走過10餘年歷史。從最初的搜索引擎到全面互聯網的應用,Google服務如郵件、搜索、地圖等已經成爲鏈接互聯網和用戶的重要橋樑,而這些優秀的Google服務能夠完美的結合到Android 平臺手機上。git

1.2 實驗環境

   JDK 1.8+ ADT + Eclipse數據庫

2、 需求分析

2.1 功能需求

  本項目是簡單的聊天系統的實現,預期所具有的的功能有用戶註冊和登錄功能以及及時聊天功能。windows

2.2 性能需求

  可以在真機上以軟件方式運行,且運行速率不能過慢。服務器

2.3 預期將來需求

  查找添加功能:可以經過帳號查找好友,並進行添加;
  分組功能:可以對好友進行分組,便於快速查找好友;
  羣聊功能:能夠將多個好友拉入羣,開啓多人聊天模式。網絡

2.4 需求類圖

2.5 用戶UI設計

UI設計流程圖:
架構

UI原型設計:(具體動態效果須要參考Axure文件)
socket


3、系統設計

3.1 Socket通訊基礎

  socket一般也稱做"套接字",用於描述IP地址和端口,是一個通訊鏈的句柄。應用程序一般經過"套接字"向網絡發出請求或者應答網絡請求。
  Socket和ServerSocket類庫位於java.net包中。ServerSocket用於服務器端,Socket是創建網絡鏈接時使用的。在鏈接成功時,應用程序兩端都會產生一個Socket實例,操做這個實例,完成所需的會話。工具

服務器:
  使用ServerSocket監聽指定的端口,等待客戶鏈接請求,客戶鏈接後,會話產生;在完成會話後,關閉鏈接。性能

客戶端:
  使用Socket對網絡上某一個服務器的某一個端口發出鏈接請求,一旦鏈接成功,打開會話;會話完成後,關閉Socket。
  0~1023的端口號爲系統所保留,例如http服務的端口號爲80,telnet服務的端口號爲21,ftp服務的端口號爲23, 因此咱們在選擇端口號時,最好選擇一個大於1023的數以防止發生衝突。

3.2 C/S模式下的Scocket通訊

  本聊天系統,採用客戶機/服務器(C/S)體系結構,C/S結構包括一個客戶端和一個服務器。在Intemet通訊中,使用TCP面向鏈接的套接字來創建服務器端和客戶端兩個IP地址端點之間的會話。以下圖所示:

  服務器端主要完成用戶信息的存儲、客戶端命令的響應與接受、信息轉發等功能。客戶端主要完成登陸、聊天信息的接受及發送等功能。客戶端必須在服務器啓動之後才能鏈接成功,用戶登陸之後聊天室的客戶端會顯示用戶已登陸,能夠與服務器進行即時聊天。

4、實現

登錄界面

聊天界面

5、系統測試

5.1 功能測試

經測試,登錄功能完善,註冊、聊天功能還存在小問題。

5.2 測試用例

6、 總結

  項目報告闡述了在Android應用程序架構下簡易聊天系統的開發過程,實現了Android系統聊天室的註冊、登錄和聊天功能。但因爲系統自己的複雜性,對不少可能出現異常的狀況沒有處理,存在必定的欠缺。在後續的修改完善中,方便用戶的再次登錄,在服務器端能夠經過SQL數據庫,保存註冊用戶的用戶名,密碼和各個用戶的聊天記錄,以便可以實現往用戶註冊或登陸時檢查相應的狀況。最後,本系統的界面最後來自於QQdemo,能夠本身對UI作美化,以達到最佳效果。

代碼託管在開源中國Github,歡迎各位指正 代碼託管

相關文章
相關標籤/搜索