999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Android的閱讀回執即時通訊系統的研究和開發

2018-01-25 03:28:00王玉明陳鈞
現代計算機 2017年36期
關鍵詞:界面用戶功能

王玉明,陳鈞

(南京工程學院計算機工程學院,南京 211167)

0 引言

Android系統占有市場超過80%的份額,占有更大的用戶基數,世界很多智能手機廠家幾乎都加入了An?droid陣營,并推出了一系列的Android智能機。終端越多,其市場潛力就越大。從程序的移植和安裝這一角度來說,Android應用商店最大的優勢是,不對An?droid應用程序的來源或者提供商進行嚴格的把控。在這一點上優于蘋果。從Android系統自身的而更深層面來說,Android平臺是基于Linux內核,具有更佳的可靠和安全,新的Linux內核是未來的發展趨勢,An?droid開發更是未來趨勢[1]。

本項目的主要任務是完成在Android平臺上開發以XMPP協議為通信協議的即時通信應用。在項目的研究開始階段,首先要求的是Android模擬器上模擬客戶端應用程序的運行,搭設Tomcat或者Java程序作為主要通信的服務器。在項目的后期,豐富功能后,添加設計Socket服務器作為輔助進行通信。同時在設計該保證節約成本,優化存儲結構,使用客戶端和服務器一同進行存儲,避免相同數據的冗余和堆積現象。重要的是,對于聊天信息的閱讀狀況的正確及時的反饋。

1 系統相關技術

1.1 Android的相關組件

Android開發四大組件分別是:活動(Activity):用于提供功能模塊的實現以及可視化的表現。服務(Ser?vice):后臺運行服務,對用戶隱藏,不對用戶可見,不會和應用組件進行交互。廣播接收器(Broadcast Re?ceiver):用于接收廣播,異步接受Intent,一類主要是完全異步的接收正常廣播,另外一種是傳播有序廣播。內容提供商(Content Provider):主要功能是存儲和傳遞數據,另一個重要的功能是對外數據共享。

1.2 Android的UI的優勢

Android平臺兼容多種的媒體格式,并提供相關插件和版本控制。在部分的按鍵和Viewer上,提供全息樣式和3D的立體圖標,并且自帶圖片編輯器利用相關的數值參數控制斜度和紋理等特點。另外,Android的UI設計采用的是單線程的模型,拒絕在子線程中對于UI進行操作,所以另外提供了Handler的機制來進行協調通信。Handler機制中的主要對象是Looper,每一個線程中只會存在一個Looper對象,與ThreadLocal的思路一致,解決多線程的并發問題。

2 XMPP協議

XMPP協議是一個開放源碼的,以XML為基礎的可擴展的即時通信協議,其繼承了XML的靈活的可擴展性,以XML數據流為載體進行數據傳輸。其前身是Jabber協議,在2002年,XMPP工作組開發和改編協議以適應IETF組織的消息和出席技術后有了目前的XMPP協議可以說協議是Jabber協議的核心。XMPP盡管不局限網絡拓撲結構,但是通信時必須采用TCP協議,在協議結構上使用的是結構模型,由支持該協議的服務器轉發到目標用戶,完成此類通訊[3]。

3 創新點和技術點

3.1 消息回執的實現

在聊天的過程中,如果消息的接收方在已經查看了信息的情況下,應該對于該條的信息的發送方,給出一個問題的反饋,從而使得發送方得知,這條消息已經被閱讀,從一定程度上,能夠解決問題推諉的問題。

其實現主要是對于消息包的監控。在檢測到包的相關內部檢測標準已經有了改變的話,通過成員方法獲得到消息的相關信息,然后交給服務端,反饋信息給發送者。

3.2 長鏈接的實現

用戶所在客戶端需要不斷地從網絡上獲取信息,那么就需要解決兩個問題,一個是判斷當前是否鏈接到網絡,另一則就是是否有新的信息需要接受。那么就需要一個長鏈接模塊。

長鏈接線程會先檢查網絡連接的狀態,由內部的循環判斷是否建立過連接,是否來連接網絡,連接是否超時,一次來確定是否連接到網絡/。建立長鏈接的過程,其實質是客戶端向服務器發送連接請求,請求服務器通過此鏈接向客戶端發送消息,客戶端維持一個消息分發線程,消息調用不同的處理過程

另外,如果想保持websocket連接的穩定性,建議加上心跳包??梢悦扛粢欢螘r間就發個簡單的字符串給后臺,讓后臺知道用戶在線,可以調用timetask以及CountDownTimer來完成。

4 系統模塊的設計與實現

4.1 系統總體框架的實現

參照MVC(Model View Controller,模型—視圖—控制器)的架構設計模式,可以達到將業務邏輯、數據、界面顯示分離的結構形式??梢园堰@個系統分為如下的幾個功能層次:數據庫層(Model層),表現層(View層),業務處理層(Controller層),網絡通信層(網絡業務的處理層)。根據不同的業務要求,每一個層次同樣具有不同的模塊,每個模塊都具備各自的功能。

注意點主要集中在,需要固定層與層之間的通信接口,能夠清楚明白的描述層次和功能。有專業的要求盡量做到“高內聚,低耦合”,在層次的內部應該模塊化,盡可能的降低模塊與模塊之間的聯系。同時要保證,接口的調用清晰明了。

4.2 客戶端的功能模塊與設計

針對此次對于通訊軟件的設計要求,盡量將軟件的使用的模塊簡化,大致包括以下的模塊:登錄注冊模塊、主界面顯示模塊、好友管理模塊、群組管理模塊、聊天模塊、個性化設置模塊等。每個模塊負責具體的不同的功能。

(1)用戶注冊界面:在新用戶要求注冊時,提供界面要求用戶對于昵稱、密碼、email信息進行填寫,并且在提交之前進行檢驗,滿足全部要求的才能注冊到服務器中保存。保存剛注冊的賬號和密碼,方便及時登錄。

(2)用戶登錄界面:在用戶登錄時,檢測賬號、密碼是否正確進行匹配,判斷賬號是否的格式、內容輸入有誤,判斷該賬號有沒有存在共同登錄或者異地登錄的情況。

(3)好友管理模塊:進行好友的管理,功能要求要能夠進行添加好友、刪除好友、修改好友備注和分組等的操作,在這些操作之后,需要將修改的內容存儲到本地或者是遠程的數據庫。

(4)群組管理模塊:進行群組的管理,功能要求要能夠進行創建群組、刪除群組、邀請好友、修改群組信息等。同時這些信息要注意管理員與普通用戶之間的權限的不同。

(5)主界面模塊:負責多個功能之間的切換。通過左劃、右劃以及對提供的工具欄的操作方式實現。以此來完成多個不同的模塊的功能的集合。同時要能夠顯示用戶的頭像,個性簽名,呈現狀態以及最近的聊天界面等狀態。但是同樣這些功能有的是平行的功能,有的是作為承載在主界面是上面的應用。如聊天管理界面圖1。

由此也是所有的activity中布局最為復雜的一種,通過添加TextView,Button,ProgressBar等常用控件來編寫程序界面。主界面下需要防止多個聊天的窗口。主要的監控就要交給后臺功能。Service不能自己運行,只能后臺運行,并且可以和其他組件進行交互。但是主界面一定存在相當的耗時操作,像需要發送網絡請求的時候,服務器未必會立刻的給出回復,如果不交給子線程,會導致主線程被阻塞,從而程序和用戶體驗。

聊天模塊:負責對于聊天的支持,對聊天的內容進行處理。能群聊、單聊,能添加表情等。聊天記錄一樣能夠在本地端進行存儲,并且全部都以聊天窗口的形式顯示出來。主要的個人聊天界面,如圖2。

圖1 聊天管理界面

圖2 個人聊天界面

功能設置模塊:主要對應用進行功能性設置,包括個人設置和系統設置。此類的系統配置屬于用戶對于Android的個性化配置,可以使用Android的Shared?Preferences功能,它是一個輕量級的存儲類,所以很適合用于保存軟件配置參數。通過XML文件存放數據,文件存放在本地安裝目錄下的/data/data//shared_prefs目錄下。

4.3 系統的用例分析

依據上面一個模塊對于功能模塊的分析結果,下面給出相關的用例圖,圖3。

從圖中可以看出,用戶需要先行注冊成為用戶,將其注冊的相關信息包括密碼賬號等,保存在數據庫,其次登錄客戶端,在這樣的情況下,用戶就可以查詢聊天記錄。查看發送的圖片或者文件等的操作,但是想進行單人聊天,群聊天需要先連接到服務器。

圖3 功能模塊的用例分析圖

4.4 系統的數據庫設計

在設計本課題系統時,需要考慮到數據的保存和可重復多次讀取的相關措施。Android本身有提供5中數據的存儲方式。第一種是SharedPreferences主要是用于存儲一些簡單的系統配置的信息,優點在于簡單快捷的讀取和寫入方式。第二種是通過文件存儲數據,利用和Java一致的文件輸入輸出流實現。第三種是網絡存儲方式,主要是解決Android網絡數據包的問題。第四種就是組件之一的ContentProvider。第四種是利用開發的數據庫SQLite。

本課題系統的設計架構是C/S架構,為了降低數據的大量冗余,和堆積在服務器影響性能的問題,需要在服務器和客戶端上面同事的存儲數據。服務器主要利用輕型的mysql數據庫進行處理。客戶端將少量的系統配置信息,例如用戶名和密碼,用戶的私人配置等信息保存在SharedPreferences中,主要還是通過SQLite進行保存。

本項目主要的數據庫表有User用戶信息表、Con?tacts:聯系人列表、Single_session單人會話列表、Sin?gle_message單人聊天信息表、Group_session多人會話列表、Group_message多人聊天信息表。

以下是聊天系統的ER圖:

圖4 聊天系統ER圖

5 結語

本系統主要使用Java語言開發,通過原型設計,數據庫設計,已完成基本的閱讀回執功能,即時反饋已讀動態以及對重要的信息做出提醒,有一定的實用性。根據我們對于國內外研究現狀、發展水平的分析了解,本系統開發成本低廉,效率高,擴展性好。

[1]呂留記.基于Android的即時通訊系統的研究與實現[D].電子科技大學,2016.

[2]王少蕾.安全通信軟件“密迅”的Android手機客戶端的設計與實現[D].北京交通大學,2014.

[3]高明鵬.基于XMPP協議的Android手機即時通信應用研究與實現[D].南昌大學,2012.

[4]郝秋影.基于Android的消息應用的設計與實現[D].北京郵電大學,2013.

猜你喜歡
界面用戶功能
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
國企黨委前置研究的“四個界面”
當代陜西(2020年13期)2020-08-24 08:22:02
基于FANUC PICTURE的虛擬軸坐標顯示界面開發方法研究
關于非首都功能疏解的幾點思考
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
人機交互界面發展趨勢研究
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
手機界面中圖形符號的發展趨向
新聞傳播(2015年11期)2015-07-18 11:15:04
如何獲取一億海外用戶
創業家(2015年5期)2015-02-27 07:53:25
主站蜘蛛池模板: 玖玖免费视频在线观看| 亚洲狼网站狼狼鲁亚洲下载| 亚洲国产AV无码综合原创| 亚洲永久免费网站| 中文字幕亚洲电影| 天天干天天色综合网| P尤物久久99国产综合精品| 福利在线免费视频| 一区二区三区成人| 亚洲国产精品人久久电影| 国产男人天堂| 成人福利在线观看| 久久精品无码专区免费| 亚洲人成日本在线观看| 最近最新中文字幕在线第一页 | 97超级碰碰碰碰精品| 久久久久人妻一区精品| 亚洲综合在线最大成人| 丁香婷婷激情综合激情| 欧美另类视频一区二区三区| 国产激情无码一区二区APP| 看国产一级毛片| 久久窝窝国产精品午夜看片| 久久中文字幕av不卡一区二区| 亚洲Aⅴ无码专区在线观看q| 国产女同自拍视频| 亚洲国产中文综合专区在| 国产中文在线亚洲精品官网| 精品国产一二三区| 最新国产精品第1页| 免费一级无码在线网站| 日韩精品一区二区三区大桥未久 | 国产大片喷水在线在线视频| 一本大道视频精品人妻| 国产精品网址你懂的| 亚洲一区二区三区国产精品| 欧美性猛交xxxx乱大交极品| 宅男噜噜噜66国产在线观看| 无码丝袜人妻| 亚洲天堂免费| V一区无码内射国产| 亚洲成人一区二区| 国产成人精品日本亚洲| 亚洲无码高清视频在线观看| 色噜噜在线观看| 欧美色综合网站| 午夜影院a级片| 亚洲综合狠狠| yjizz国产在线视频网| 国产精品自在自线免费观看| 青青青国产视频手机| 国产永久在线观看| 成人福利在线免费观看| 好吊色国产欧美日韩免费观看| 色综合国产| 香蕉精品在线| 国产美女人喷水在线观看| 天堂在线亚洲| 国产激情无码一区二区三区免费| 日本不卡在线视频| 亚洲成人手机在线| 在线观看91精品国产剧情免费| 免费看av在线网站网址| 亚洲A∨无码精品午夜在线观看| 国产精品99久久久久久董美香| 久久一日本道色综合久久| 日日碰狠狠添天天爽| 欧美一区二区三区不卡免费| 国产特级毛片aaaaaaa高清| 亚洲不卡网| AV色爱天堂网| 99热这里只有免费国产精品| 亚洲不卡网| 无码高清专区| 99热这里只有免费国产精品 | 亚洲国产精品日韩欧美一区| 高h视频在线| 国产亚洲精| 成人国产精品2021| 成人午夜视频在线| 久久久久久尹人网香蕉| 国产福利拍拍拍|