版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 碩 士 學(xué) 位 論 文</p><p> ?。ɑ贏ndroid的移動端企業(yè)內(nèi)部社交軟件的設(shè)計(jì)與實(shí)現(xiàn))</p><p><b> 摘 要</b></p><p> 信息時代的發(fā)展帶來人們信息交流需求的擴(kuò)大。企業(yè)內(nèi)部在加大員工信息交流的同時也需要降低員工之間的信息交流的成本。提高企業(yè)內(nèi)部員工的交流效率和交
2、流質(zhì)量,并且降低交流時間成本和設(shè)備成本已經(jīng)成為當(dāng)今企業(yè)提高自身效益的重要途徑。</p><p> 企業(yè)員工隨時隨地進(jìn)行交流的需求與手機(jī)設(shè)備的可攜帶性完美的契合,因而使用手機(jī)應(yīng)用解決企業(yè)員工的交流需求成為一個可行的方案。當(dāng)前的可攜帶智能手機(jī)系統(tǒng)以Android與IOS為主,其中Android占據(jù)了80%的智能手機(jī)市場份額,擁有龐大的用戶群。本文選擇Android設(shè)備作為切入點(diǎn),基于環(huán)信SDK,遵循MVC開發(fā)模式,
3、開發(fā)了一個面向企業(yè)內(nèi)部員工的,旨在解決員工之間交流需求,降低交流成本,提高交流效率的企業(yè)內(nèi)部社交應(yīng)用。論文的主要工作如下。</p><p> 1)對項(xiàng)目背景及項(xiàng)目開發(fā)中需要的相關(guān)技術(shù)進(jìn)行了介紹。</p><p> 2)詳細(xì)地分析了企業(yè)員工的業(yè)務(wù)需求,對提出的企業(yè)內(nèi)部手機(jī)社交應(yīng)用進(jìn)行了架構(gòu)設(shè)計(jì)與模塊劃分。企業(yè)內(nèi)部手機(jī)社交應(yīng)用系統(tǒng)劃分為七個重要的模塊,分別為注冊登錄模塊、主框架模塊、聯(lián)系人
4、模塊、會話模塊、群模塊、設(shè)置模塊和其他模塊。</p><p> 3)本項(xiàng)目集成了環(huán)信即時通訊云V3.0 EaseUI,開發(fā)容易、時間短,性能穩(wěn)定。</p><p> 在軟件測試部分,本文對各個關(guān)鍵模塊進(jìn)行了功能性測試,通過測試驗(yàn)證了軟件的實(shí)現(xiàn)和與預(yù)期結(jié)果的一致。</p><p> 目前應(yīng)用已在企業(yè)移動應(yīng)用平臺上線,整體運(yùn)行良好,下載量也不斷上升。很多用戶也在使
5、用后進(jìn)行了反饋,并提出了寶貴的意見。這些意見為不斷完善本應(yīng)用提供了基礎(chǔ)。</p><p> 關(guān)鍵詞:Android,企業(yè)應(yīng)用,移動社交,即時通訊</p><p><b> Abstract</b></p><p> The development of information era brings about the expansion
6、of the demand for information exchange. Enterprise internal in the increase of employee information exchange also need to reduce the cost of information exchange between employees. To improve the communication efficiency
7、 and quality, and reduce the time cost and equipment cost of enterprises have become an important way for enterprises to improve their own efficiency.</p><p> Enterprise employees at any time and place to c
8、ommunicate the needs of mobile devices and the perfect fit, so the use of mobile phone applications to address the needs of enterprise employees to exchange needs to become a viable solution. The current portable smart p
9、hone system with IOS and Android based, which accounted for 80% of Android smartphone market share, has a huge user base. This paper selected as the starting point of Android equipment, the ring letter based on SDK, foll
10、ow the MVC de</p><p> the project background and project development in the need to introduce the relevant technology.</p><p> b) detailed analysis of the business needs of enterprise employee
11、s, the proposed enterprise internal mobile social application of the architecture design and module division. The enterprise internal mobile phone social application system is divided into seven important modules, which
12、are registered login module, main frame module, contact module, session module, group module, setting module and other modules.</p><p> c) this project integrates the ring letter instant messaging cloud Eas
13、eUI V3.0, development is easy, the time is short, the performance is stable.</p><p> In the part of software testing, this paper carries on the functional test to each key module, and the implementation of
14、the software and the consistent with the expected results are verified by the test.</p><p> At present, the application has been in the enterprise mobile application platform on the line, the overall operat
15、ion is good, downloads are rising. A lot of users have also been used after the feedback, and put forward valuable suggestions. These ideas provide the basis for the continuous improvement of the application.</p>
16、<p> Key words: Android, Enterprise application, Mobile social, IM</p><p><b> 目 錄</b></p><p><b> 第一章 緒論9</b></p><p><b> 1.1項(xiàng)目背景9</b&g
17、t;</p><p> 1.1.1Android智能設(shè)備系統(tǒng)9</p><p> 1.1.2社交網(wǎng)絡(luò)9</p><p> 1.1.3項(xiàng)目的應(yīng)用價值及意義10</p><p> 1.2國內(nèi)手機(jī)社交應(yīng)用的發(fā)展概況10</p><p> 1.3論文的主要工作11</p><p>
18、 1.4論文的組織結(jié)構(gòu)11</p><p> 第二章 相關(guān)技術(shù)介紹13</p><p> 2.1Android平臺13</p><p> 2.1.1Android基本組件13</p><p> 2.1.2Android數(shù)據(jù)持久化14</p><p> 2.2MVC設(shè)計(jì)模式14</p>
19、<p><b> 2.3環(huán)信15</b></p><p> 2.4本章小結(jié)16</p><p> 第三章 系統(tǒng)需求分析17</p><p> 3.1功能性需求17</p><p> 3.1.1注冊登錄功能17</p><p> 3.1.2聯(lián)系人功能17</
20、p><p> 3.1.3會話功能17</p><p> 3.1.4群功能17</p><p> 3.1.5設(shè)置功能17</p><p> 3.2非功能性需求17</p><p> 3.2.1兼容性18</p><p> 3.2.3 易用性18</p><p
21、> 3.2.4可擴(kuò)展性18</p><p> 3.2.5性能穩(wěn)定性18</p><p> 3.3本章小結(jié)18</p><p> 第四章 系統(tǒng)概要設(shè)計(jì)19</p><p> 4.1基于MVC模式的架構(gòu)設(shè)計(jì)19</p><p> 4.2系統(tǒng)包設(shè)計(jì)19</p><p>
22、 4.3模塊劃分20</p><p> 4.4數(shù)據(jù)存儲方案設(shè)計(jì)21</p><p> 4.4.1SQLite數(shù)據(jù)庫存儲21</p><p> 4.4.2SharedPreferences存儲21</p><p> 4.4本章小結(jié)23</p><p> 第五章 系統(tǒng)各功能模塊詳細(xì)設(shè)計(jì)24</p
23、><p> 5.1注冊登錄模塊24</p><p> 5.1.1歡迎頁面功能設(shè)計(jì)24</p><p> 5.1.2注冊功能設(shè)計(jì)25</p><p> 5.1.3登錄功能設(shè)計(jì)26</p><p> 5.2主框架模塊27</p><p> 5.3聯(lián)系人模塊28</p>
24、<p> 5.3.1聯(lián)系人列表功能設(shè)計(jì)28</p><p> 5.3.2添加好友功能設(shè)計(jì)30</p><p> 5.3.3邀請信息列表功能設(shè)計(jì)31</p><p> 5.4會話模塊32</p><p> 5.4.1會話列表功能設(shè)計(jì)32</p><p> 5.4.2會話詳情功能設(shè)計(jì)3
25、3</p><p><b> 5.5群模塊35</b></p><p> 5.5.1群列表功能設(shè)計(jì)35</p><p> 5.5.2新建群功能設(shè)計(jì)36</p><p> 5.5.3群聯(lián)系人選擇功能設(shè)計(jì)37</p><p> 5.5.4群詳情功能設(shè)計(jì)39</p>&
26、lt;p> 5.6設(shè)置模塊40</p><p> 5.7其他模塊41</p><p> 5.7.1全局線程池設(shè)計(jì)41</p><p> 5.7.2全局監(jiān)聽設(shè)計(jì)41</p><p> 5.7.3數(shù)據(jù)庫設(shè)計(jì)47</p><p> 5.8本章小結(jié)47</p><p>
27、第六章 系統(tǒng)實(shí)現(xiàn)中關(guān)鍵問題及解決方案48</p><p> 第七章 系統(tǒng)測試及實(shí)現(xiàn)效果49</p><p> 7.1功能性測試49</p><p> 7.1非功能性測試49</p><p> 7.3本章小結(jié)50</p><p> 第八章 總結(jié)與展望51</p><p>&l
28、t;b> 8.1總結(jié)51</b></p><p><b> 8.2展望51</b></p><p><b> 參考文獻(xiàn)52</b></p><p><b> 致謝53</b></p><p><b> 第一章 緒論</b&g
29、t;</p><p><b> 1.1項(xiàng)目背景</b></p><p> 1.1.1Android智能設(shè)備系統(tǒng)</p><p> 根據(jù)IDC發(fā)布的2014年智能手機(jī)出貨量數(shù)據(jù)報(bào)告,全球手機(jī)市場以Android與IOS操作系統(tǒng)搭建的智能手機(jī)設(shè)備為主。采用Android和IOS操作系統(tǒng)的智能手機(jī)出貨量占2014年智能機(jī)出貨量的96.3%。其中
30、Android占據(jù)2014年智能手機(jī)市場總額的81.5%,擁有龐大的用戶群與廣闊的市場前景。Android系統(tǒng)智能手機(jī)的年出貨量為10.59億部,同比增長32%。IPhone出貨量為1.927億部,同比去年增長25.6%。Android智能手機(jī)的年出貨量是IOS智能手機(jī)的年出貨量的10倍,Android智能手機(jī)2014年的出貨量還超過了2013年全部智能手機(jī)的總出貨量。由此可見,Android系統(tǒng)的市場份額是相當(dāng)大的,用戶基數(shù)非常高,是
31、當(dāng)今手機(jī)互聯(lián)時代的設(shè)備基石與技術(shù)基礎(chǔ)。</p><p><b> 1.1.2社交網(wǎng)絡(luò)</b></p><p> 在實(shí)名認(rèn)證的網(wǎng)絡(luò)交友平臺FaceBook出現(xiàn)之后,SNS這個名詞進(jìn)入人們的視野,根據(jù)密歇根州立大學(xué)的Boyd和Ellison的定義:"SNS是一種網(wǎng)絡(luò)服務(wù),這種服務(wù)允許網(wǎng)民在一個受限制的系統(tǒng)上構(gòu)建公開的和半公開的個人空間,在空間里面明確列出友情鏈接用戶名
32、單,并且在這個系統(tǒng)里,網(wǎng)民可以查看自己的鏈接和關(guān)聯(lián)用戶的鏈接"。</p><p> 為獲得5000萬名用戶,廣播用了38年時間,電視用了14年,互聯(lián)網(wǎng)用了4年,而Facebook只用了9個月。IBM社交商務(wù)暨協(xié)作解決方案全球副總栽Mark Guerinot表示:"社交網(wǎng)絡(luò)帶來了一場令人難以置信的變革。該場變革給企業(yè)帶來壓力,企業(yè)需要更快速地與客戶溝通,用更專業(yè)的知識為客戶服務(wù)。"</p><
33、p> 隨著智能手機(jī)的普及,智能手機(jī)的及時性與隨身性為SNS的發(fā)展搭建了新的平臺,提供了新的契機(jī)。在技術(shù)上,由于終端與網(wǎng)絡(luò)技術(shù)日趨成熟,移動終端的承載力和網(wǎng)絡(luò)速度得到巨大的提高,數(shù)據(jù)的傳輸速度更加快捷,消耗成本更加低廉,用戶不用浪費(fèi)過多的時間來等待數(shù)據(jù)的載入,也不用擔(dān)心數(shù)據(jù)載入需要花費(fèi)很大的經(jīng)濟(jì)成本。在市場上,用戶希望網(wǎng)絡(luò)社交更加的及時,便攜的設(shè)備能夠滿足用戶隨時隨地進(jìn)行社交活動的需求,基于當(dāng)前地理位置進(jìn)行社交活動,在虛擬的網(wǎng)絡(luò)社
34、交中添加了現(xiàn)實(shí)的元素,提高了網(wǎng)絡(luò)社交的真實(shí)化準(zhǔn)確性,趣味性。</p><p> 1.1.3項(xiàng)目的應(yīng)用價值及意義</p><p> 企業(yè)社交應(yīng)用能讓企業(yè)內(nèi)部的員工通過類似社交網(wǎng)絡(luò)的方式進(jìn)行工作和自我管理,使企業(yè)進(jìn)行更實(shí)時、有效的溝通與協(xié)作。以群和聊天為核心,促進(jìn)群的建立,能夠提高員工的社交性,促進(jìn)公司企業(yè)文化融合,使得同事間的交流不僅局限于工作,有助于交流雙方的理解,減少陌生員工之間合作
35、時的隔閣,也為員工平衡工作與生活帶來便利。</p><p> 1.2國內(nèi)手機(jī)社交應(yīng)用的發(fā)展概況</p><p> 在國內(nèi),隨著3G,4G技術(shù)的發(fā)展和H網(wǎng)融合計(jì)劃的落地,讓移動互聯(lián)網(wǎng)無論在技術(shù)還是內(nèi)容上,都得到了突破,越來越多的服務(wù)商和設(shè)備商加入到3G,4G陣營,從核也技術(shù)到終端設(shè)備,3G,4G都為移動網(wǎng)絡(luò)中的SNS服務(wù)帶來了質(zhì)的變化,上網(wǎng)速度更快、終端設(shè)備更先進(jìn)、應(yīng)用內(nèi)容更多樣化,這些
36、都為移動SNS爆發(fā)提供了必須的先決條件,SNS已經(jīng)成為目前手機(jī)功能的一個熱點(diǎn),手機(jī)社交已經(jīng)成為國內(nèi)用戶不可缺少的交流方式。</p><p> 國內(nèi)的手機(jī)杜交應(yīng)用主要分為四大類別:婚戀類,商務(wù)類,娛樂類,校園類。圖1.2顯示了國內(nèi)手機(jī)社交應(yīng)用的分布,國內(nèi)手機(jī)社交應(yīng)用市場紛雜,內(nèi)容豐富,競爭激烈。</p><p> 在如此多的手機(jī)社交應(yīng)用中,微信擁有最多的用戶,截止2014年底,國內(nèi)用戶量
37、已經(jīng)達(dá)到5億,微信是騰訊公司于2011年1月21日推出的一個為智能終端提供即時通訊服務(wù)的免費(fèi)應(yīng)用程序,微信支持跨通信運(yùn)營商、跨操作系統(tǒng)平臺通過網(wǎng)絡(luò)快速發(fā)送免費(fèi)(需消耗少量網(wǎng)絡(luò)流量)語音短信、視頻、圖片和文字,同時,也可W使用通過共享流媒體內(nèi)容的資料和基于位置的社交插件"搖-搖"、"漂流瓶"、"朋圈"、"公眾平臺"、"語音記事本"等服務(wù)插件。微信的語音技術(shù)與圖片傳輸技術(shù),徹底顛覆了文字交流的模式,使得交流更加的快捷方便,形象準(zhǔn)確。微信的離
38、線消息推送功能完全契合移動設(shè)各網(wǎng)絡(luò)不穩(wěn)定的特性,增加了消息的到達(dá)率,使用戶之間的交流更加舒適?;诘乩砦恢玫模u-搖","附近人"的功能體現(xiàn)了社交應(yīng)用在移動平臺上的合理性與優(yōu)越化增強(qiáng)了個體之間的聯(lián)系。微信的網(wǎng)絡(luò)反應(yīng)速度特別快捷,這得益于他完善的網(wǎng)絡(luò)傳輸框架,圖片實(shí)現(xiàn)了異步加載的功能,擁有很好的圖片加載框架。然而其作為一個平臺,需要許多運(yùn)營活動,必可不少的需要添加Web的頁面,這大大的增加客戶端的運(yùn)行時間,降低了系統(tǒng)的反應(yīng)速度,提升了系統(tǒng)
39、的資源開銷。微信用戶需要通過添加好友的方式建立</p><p> 1.3論文的主要工作</p><p> 本人全程參與了企業(yè)內(nèi)部員工社交應(yīng)用項(xiàng)目的幵發(fā),主要負(fù)責(zé)客戶端的設(shè)計(jì)與實(shí)現(xiàn)。工作內(nèi)容包括客戶端功能模塊中的注冊登錄模塊、會話模塊、聯(lián)系人模塊、群模塊、設(shè)置模塊的設(shè)計(jì)與實(shí)現(xiàn)。</p><p> 針對這五個功能模塊,本人完成了以下工作:</p>&
40、lt;p> (1)對的相關(guān)技術(shù)進(jìn)行調(diào)研,結(jié)合開發(fā)周期與現(xiàn)有資源,與項(xiàng)目負(fù)責(zé)人討論,選取合適的開發(fā)技術(shù)和開發(fā)框架。</p><p> ?。?)依據(jù)產(chǎn)品需求對系統(tǒng)功能需求進(jìn)行分析與整理,對非功能需求進(jìn)行定義和設(shè)計(jì),從而使應(yīng)用更加健壯。</p><p> ?。?)在概要設(shè)計(jì)階段按照架構(gòu)搭建客戶端整體框架,劃分客戶端模塊,對本地?cái)?shù)據(jù)持久化方案進(jìn)行設(shè)計(jì),與服務(wù)器開發(fā)人員設(shè)計(jì)數(shù)據(jù)傳輸模塊,定義
41、傳輸接口。</p><p> (4)按照客戶端模塊劃分,獨(dú)立完成注冊登錄模塊、會話模塊、聯(lián)系人模塊、群模塊、設(shè)置模塊;對軟件實(shí)現(xiàn)過程中出現(xiàn)的問題設(shè)計(jì)解決方案;對功能模塊進(jìn)行測試。</p><p> ?。?)在開發(fā)完成后,與他人配合完成系統(tǒng)的功能性測試與非功能性測試,完成一系列適配工作,最終將部署到企業(yè)移動應(yīng)用平臺之中。</p><p> 1.4論文的組織結(jié)構(gòu)&l
42、t;/p><p> 依據(jù)工作內(nèi)容,論文分八個章節(jié)詳細(xì)介紹了的設(shè)計(jì)與實(shí)現(xiàn),每個章節(jié)具體安排如下:</p><p> 第一章:緒論。主要對項(xiàng)目選題背景與來源、應(yīng)用價值和意義、本人工作內(nèi)容以及論文的組織結(jié)構(gòu)進(jìn)行說明。</p><p> 第二章:相關(guān)技術(shù)介紹。主要說明了本項(xiàng)目涉及的幵發(fā)平臺與相關(guān)技術(shù)。</p><p> 第三章:系統(tǒng)需求分析。主要
43、說明系統(tǒng)需求,包括系統(tǒng)的非功能性需求和功能性需求。</p><p> 第四章:系統(tǒng)概要設(shè)計(jì)。主要對系統(tǒng)的架構(gòu)設(shè)計(jì)、客戶端總體設(shè)計(jì)進(jìn)行了說明。包括架構(gòu)設(shè)計(jì)、系統(tǒng)包設(shè)計(jì)與模塊劃分;依據(jù)模塊劃分,對客戶端的存儲模塊與傳輸模塊進(jìn)行了設(shè)計(jì)與說明。</p><p> 第五章:各功能模塊詳細(xì)設(shè)計(jì)。依照概要設(shè)計(jì)的模塊劃分,對各功能模塊進(jìn)行詳細(xì)設(shè)計(jì)與分析,包含交互界面設(shè)計(jì)、類設(shè)計(jì)與流程設(shè)計(jì)。</p
44、><p> 第六章:系統(tǒng)實(shí)現(xiàn)中關(guān)鍵問題及解決方案。對實(shí)現(xiàn)中的關(guān)鍵問題設(shè)計(jì)解決方案并進(jìn)行說明。</p><p> 第七章:系統(tǒng)測試及實(shí)現(xiàn)效果。對系統(tǒng)的功能性與非功能性功能的測試進(jìn)行說明并展示系統(tǒng)最終的實(shí)現(xiàn)效果。</p><p> 第八章:總結(jié)。對項(xiàng)目的運(yùn)行現(xiàn)狀進(jìn)行說明,總結(jié)開發(fā)過程并提出改善性建議。</p><p> 第二章 相關(guān)技術(shù)介紹&
45、lt;/p><p> 本章主要對該應(yīng)用軟件幵發(fā)過程中使用的技術(shù)與平臺進(jìn)行簡單介紹。本項(xiàng)目基于平臺,使用語言進(jìn)行設(shè)計(jì)與開發(fā),項(xiàng)目整體架構(gòu)采用架構(gòu)模式,保證良好的封裝性與可擴(kuò)展性,核心功能為即時通訊。因此本章對平臺,設(shè)計(jì)模式和常用的推送方案進(jìn)行說明。</p><p> 2.1Android平臺</p><p> Android是基于Linux開發(fā)的一款開源操作系統(tǒng),對
46、掌上設(shè)備如手機(jī)、平板等硬件提供優(yōu)良的支持,Android SDK提供了在平臺上使用Java語言進(jìn)行應(yīng)用幵發(fā)必須的工具和API接口。</p><p> 2.1.1Android基本組件</p><p> 為開發(fā)者提供一系列系統(tǒng)控件與系統(tǒng)服務(wù)接口,使得開發(fā)人員能夠更輕松的開發(fā)出優(yōu)秀的應(yīng)用。本應(yīng)用軟件正是基于這一應(yīng)用程序框架進(jìn)行開發(fā)的。</p><p> Andro
47、id為開發(fā)者提供通用的四大基本組件,分別是Activity、Service、Content Provider和Broadcast Receiver。</p><p> Activity是程序與用戶交互的窗口,窗口中的可視化控件由View及其子類組成,Activity負(fù)責(zé)響應(yīng)窗口事件,保持界面狀態(tài)以及通過Intent實(shí)現(xiàn)Activity之間的切換。</p><p> Service是可以
48、在后臺運(yùn)行的程序,在功能上接近與剝離界面的Activity。Service無法與用戶做直接交互,必須由用戶或其他程序啟動。服務(wù)通常被分為兩類,本地服務(wù)和遠(yuǎn)程服務(wù),本地服務(wù)與當(dāng)前應(yīng)用在同一進(jìn)程,共享數(shù)據(jù)較為簡單;遠(yuǎn)程服務(wù)與當(dāng)前應(yīng)用不在同一進(jìn)程,通訊需要使用共享數(shù)據(jù)。</p><p> Content Provider提供了應(yīng)用程序間共享數(shù)據(jù)的一種機(jī)制,對外屏蔽了數(shù)據(jù)的內(nèi)部的存儲細(xì)節(jié),提供統(tǒng)一的接口模型。共享的數(shù)據(jù)
49、可以存儲在文件系統(tǒng)、SQlite數(shù)據(jù)庫、網(wǎng)絡(luò)上或其他持久化存儲方式。</p><p> Broadcast Receiver是在Android中負(fù)責(zé)接收廣播通知消息,并作出響應(yīng)處理的組件,可以對全系統(tǒng)范圍內(nèi)Broadcast進(jìn)行過濾接受并響應(yīng)。大部分廣播都是來自系統(tǒng)的,比如開機(jī)、屏幕關(guān)閉、電池電量低等。應(yīng)用程序也可以發(fā)送自己的廣播通知,由接收器進(jìn)行處理。</p><p> 2.1.2A
50、ndroid數(shù)據(jù)持久化</p><p> Android為開發(fā)者提供了多種方式對數(shù)據(jù)進(jìn)行存?。簝?nèi)部存儲、外部存儲、SharedPreferences存儲、數(shù)據(jù)庫SQlite以及網(wǎng)絡(luò)方式存儲。開發(fā)人員可以根據(jù)系統(tǒng)需求來選擇相應(yīng)的存儲方式。本應(yīng)用軟件使用了這些數(shù)據(jù)持久化方式對數(shù)據(jù)進(jìn)行了緩存。</p><p> (1)SharedPreferences:用戶存儲共享。允許將基礎(chǔ)數(shù)據(jù)類型如:i
51、nt、boolean、float、long、和String持久化保存到設(shè)備的上下文中。其本質(zhì)是以Key-Value鍵值對形式存儲在文件中。SharedPreferences適合簡單的存儲要求,常用來保存配置信息。在數(shù)據(jù)保密性方面,有四種設(shè)置方式實(shí)現(xiàn)不同的訪問權(quán)限:MODE_PRIVATE、MODE_WORLD_READABLE、MODE_WORLD_WRITABLE和MODE_MULTI_PROCESS。默認(rèn)為MODE_PRIVATE。
52、</p><p> ?。?)Internal Stroage:內(nèi)部存儲。允許直接將文件保存在設(shè)備的內(nèi)部存儲中,默認(rèn)情況下,這是一個私有數(shù)據(jù)存儲區(qū)域,其他應(yīng)用程序和用戶不能夠訪問它們。當(dāng)用戶卸載應(yīng)用時,這些文件將被刪除。在數(shù)據(jù)保密性方面,有三種設(shè)置方式實(shí)現(xiàn)不同的訪問權(quán)限:MODE_PRIVATE、MODE_WORLD_READABLE、MODE_WORLD_WRITABLE。默認(rèn)為MODE_PRIVATE。<
53、/p><p> ?。?)External Storage:外部存儲。外部存儲一般都是SD卡或設(shè)備內(nèi)存(不可移除的),使用該設(shè)備的用戶和其他應(yīng)用程序可以讀、修改和刪除外部存儲的數(shù)據(jù)。在數(shù)據(jù)保密性方面沒有強(qiáng)制的安全措施。</p><p> (4)SQLite數(shù)據(jù)庫:一款輕型的關(guān)系型數(shù)據(jù)庫,支持SQL語言,適用存儲結(jié)構(gòu)化的數(shù)據(jù)。SQLite數(shù)據(jù)庫支持的存儲數(shù)據(jù)類型有五種:NULL、INTEGER、
54、REAL、TEXT、BLOB。Android Runtime集成了因此每個應(yīng)用程序都可以使用其進(jìn)行搜索和數(shù)據(jù)管理。在數(shù)據(jù)保密性方面:在應(yīng)用程序中建立的數(shù)據(jù)庫對于程序內(nèi)部都可以訪問,但對于外部應(yīng)用程序是不可訪問的。</p><p> 2.2MVC設(shè)計(jì)模式</p><p> MVC的全稱為Model-View-Controller,即模型(Model)、視圖(View)與控制器(Contr
55、oller)是軟件開發(fā)中常用的設(shè)計(jì)模式它把數(shù)據(jù)處理、程序的輸入輸出控制及數(shù)據(jù)的表示分離開來,同時描述了不同部分對象之間的通信方式,使它們不必卷入彼此的數(shù)據(jù)模型和方法中,將程序結(jié)構(gòu)變得淸晰而靈活。</p><p> 模型(Model):(模型即與問題相關(guān)數(shù)據(jù)的邏輯抽象,將對象的屬性和對象所隱含的邏輯進(jìn)行封裝。同時,向Controller提供對程序功能的訪問,并接受View的數(shù)據(jù)査詢請求;當(dāng)數(shù)據(jù)有變化時通知對此數(shù)據(jù)
56、感興趣的View。</p><p> 視圖(View):視圖即模型的外在表現(xiàn),提供與外界交互的功能,是應(yīng)用系統(tǒng)與外界的接口。當(dāng)Model變化時,它作出相應(yīng)變化。</p><p> 控制器(Controller):控制器即模型與視圖的聯(lián)系紐帶,將用戶與View的交互事件轉(zhuǎn)換為業(yè)務(wù)事件,再將業(yè)務(wù)事件解析為Model執(zhí)行的動作,根據(jù)用戶輸入和Model對程序動作的輸出,選擇適當(dāng)?shù)腣iew來展
57、現(xiàn)數(shù)據(jù)。</p><p> 在現(xiàn)代的圖形交互相關(guān)的設(shè)計(jì)模式里,MVC設(shè)計(jì)模式幾乎是在圖形交互處理上的不二選擇,因此很多的Android應(yīng)用軟件也釆用MVC設(shè)計(jì)模式,視圖通常XML使用文件編輯表示,控制器主要由Activity類進(jìn)行實(shí)現(xiàn),模型則包含了抽象的數(shù)據(jù)及數(shù)據(jù)操作的接口。本應(yīng)用軟件使用了MVC模式進(jìn)行架構(gòu)設(shè)計(jì),使顯示與邏輯分離,形成較好的可擴(kuò)展性。</p><p><b>
58、 2.3環(huán)信</b></p><p> 環(huán)信成立于2013年4月,是一家全通訊能力云服務(wù)提供商。產(chǎn)品包括全球最大的即時通訊云 PaaS 平臺——環(huán)信即時通訊云,以及全球首創(chuàng)的全媒體智能云客服平臺——環(huán)信移動客服。</p><p> 環(huán)信即時通訊云是全球最大的即時通訊云 PaaS 平臺。V3.0 版本對SDK 和通訊協(xié)議進(jìn)行了全面深度的改造與優(yōu)化:</p>&
59、lt;p> ?。?)全新的通信協(xié)議:全新的基于消息同步的私有協(xié)議,在不穩(wěn)定網(wǎng)絡(luò)環(huán)境下更穩(wěn)定更省流量,確保消息投遞的可靠、順序以及實(shí)時性,并具有更高的安全性。同時提供了更好的擴(kuò)展性,將支持更多的對接和設(shè)備同步場景。</p><p> (2)全新的 SDK:全面重構(gòu),將核心通信模塊做了更好的封裝;簡化了接口,結(jié)構(gòu)更清晰,集成更容易;提升了登錄速度和弱網(wǎng)絡(luò)環(huán)境下的可靠性。</p><p>
60、; 本項(xiàng)目主要集成環(huán)信的SDK進(jìn)行即時通訊開發(fā),縮短了開發(fā)周期,節(jié)約了開發(fā)成本,涉及的主要API如下:</p><p> ?。?)環(huán)信SDK 入口類:</p><p> 1)SDK初始化:EMClient.getInstance().init(context,options);</p><p> 2)注冊賬號: EMClient.getInstanc
61、e().createAccount(name,pwd);</p><p> 3)登錄:EMClient.getInstance().login(name,pwd);</p><p> ?。?)EMChatManager 會話管理類</p><p> EMChatManager chatMgr = EMClient.getInstance().chatManage
62、r();</p><p> ?。?)EMContactManager 聊天好友管理類</p><p> EMContactManager contactMgr = EMClient.getInstance().contactManager();</p><p> (4)EMGroupManager 群組管理類</p><p> EMGr
63、oupManager groupMgr = EMClient.getInstance().groupManager();</p><p> (5)EMChatroomManager聊天室管理類</p><p> EMChatroomManager chatroomMgr = EMClient.getInstance().groupManager();</p><p&
64、gt;<b> 2.4本章小結(jié)</b></p><p> 本章介紹了本應(yīng)用的開發(fā)平臺和使用的關(guān)鍵技術(shù),即Android平臺,MVC架構(gòu)和消息推送技術(shù)。在Android平臺介紹中,先對Android系統(tǒng)做了簡要說明,隨后對Android提供的基本組件和數(shù)據(jù)持久化方式進(jìn)行了詳細(xì)說明。本應(yīng)用便是基于此進(jìn)行設(shè)計(jì)與實(shí)現(xiàn)的;在MVC設(shè)計(jì)模式中,解釋了MVC的工作原理以及在Android系統(tǒng)中的應(yīng)用;
65、詳細(xì)介紹了環(huán)信SDK的常用API。</p><p> 第三章 系統(tǒng)需求分析</p><p> 需求分析的成功與否關(guān)系整個軟件開發(fā)是否成功并且有效,本章將從功能性與非功能性兩方面對本社交應(yīng)用系統(tǒng)的需求進(jìn)行分析。</p><p><b> 3.1功能性需求</b></p><p> 論文提出的系統(tǒng)是一個滿足商務(wù)需求的
66、社交類應(yīng)用,主要用戶是企業(yè)內(nèi)部員工。系統(tǒng)的業(yè)務(wù)功能既包含了社交應(yīng)用的通用功能,也實(shí)現(xiàn)了符合商業(yè)類應(yīng)用特點(diǎn)的專屬功能。通用功能包括注冊登錄模塊、聯(lián)系人模塊、會話模塊、群模塊、設(shè)置模塊。</p><p> 3.1.1注冊登錄功能</p><p> 如果當(dāng)前用戶沒有賬號,需要先去環(huán)信服務(wù)器注冊一個賬號。注冊成功后,再進(jìn)行登錄操作。當(dāng)用戶輸入正確的用戶名和密碼要允許用戶登錄,否則不許登錄,并提
67、示失敗信息。</p><p> 3.1.2聯(lián)系人功能</p><p> 要求具有添加好友、顯示好友邀請信息、展示已有聯(lián)系人信息的功能。</p><p><b> 3.1.3會話功能</b></p><p> 在會話列表頁面中,需要展示所有的會話信息。點(diǎn)擊每個會話條目可以跳轉(zhuǎn)到相應(yīng)的會話詳情頁面。在會話詳情頁面可以
68、實(shí)現(xiàn)語音、圖片、文字等方式的聊天。</p><p><b> 3.1.4群功能</b></p><p> 群功能包括:顯示當(dāng)前用戶的所有群信息、新建群、群聯(lián)系人選擇和群詳情展示等功能。</p><p><b> 3.1.5設(shè)置功能</b></p><p> 需要在設(shè)置頁面顯示一個退出登錄按鈕
69、,按鈕上顯示當(dāng)前用戶的名稱,當(dāng)點(diǎn)擊當(dāng)前退出按鈕后,可以退出登錄,并跳轉(zhuǎn)到登錄頁面。</p><p><b> 3.2非功能性需求</b></p><p> 非功能性需求不僅決定軟件的質(zhì)量,還在很大程度上影響功能性需求定義。本應(yīng)用考慮軟件的兼容性、安全性、易用性、可擴(kuò)展性和性能穩(wěn)定性進(jìn)行定義和設(shè)計(jì)實(shí)現(xiàn),從而使應(yīng)用更加健壯。本節(jié)對此做簡單說明。</p>
70、<p><b> 3.2.1兼容性</b></p><p> 為最大覆蓋用戶,擁有良好的用戶體驗(yàn),同時考慮幵發(fā)難度,兼容需求如下:</p><p> 兼容的Android系統(tǒng)版本為:4.0、4.1、4.2、4.3、4.4、5.0以及6.0。</p><p> 兼容的屏幕分辨率為:1920*1080、1280*720、800*4
71、80。</p><p><b> 3.2.3 易用性</b></p><p> 應(yīng)用軟件的界面需要結(jié)構(gòu)清晰,操作方便,給用戶帶來良好的體驗(yàn)。本應(yīng)用具體操作性需求如下:</p><p> (1)所有常用功能一步完成,跳轉(zhuǎn)層級不超過3層;</p><p> (2)所有操作例如點(diǎn)擊、長按、滑動等操作符合主流的用戶習(xí)慣。
72、</p><p><b> 3.2.4可擴(kuò)展性</b></p><p> 手機(jī)應(yīng)用軟件需要有良好的可擴(kuò)展性,隨著市場發(fā)展和用戶反饋,便于后期迭代更新。因此本應(yīng)用軟件釆用敏捷幵發(fā)的方式進(jìn)行項(xiàng)目開發(fā),軟件架構(gòu)設(shè)計(jì)釆用經(jīng)典的架構(gòu)模式,對模塊進(jìn)行合理的封裝,數(shù)據(jù)交互通過接口進(jìn)行,從而達(dá)到較好的可擴(kuò)展性。</p><p> 3.2.5性能穩(wěn)定性&l
73、t;/p><p> 本應(yīng)用軟件在用戶使用過程中需要保持良好的性能與穩(wěn)定性,避免在交互過程中出現(xiàn)崩潰現(xiàn)象;開發(fā)過程中需使用良好的代碼結(jié)構(gòu)并進(jìn)行反復(fù)測試,增強(qiáng)應(yīng)用的容錯能力和可恢復(fù)性,壓力測試中,應(yīng)用的崩潰率應(yīng)小于1%。</p><p><b> 3.3本章小結(jié)</b></p><p> 本章通過對企業(yè)員工社交需求的分析提煉,總結(jié)出本應(yīng)用軟件的核
74、心功能;對系統(tǒng)需求進(jìn)行了詳細(xì)闡述;結(jié)合應(yīng)用場景與目前市場上移動設(shè)備的特點(diǎn),提出了本軟件的非功能性需求并進(jìn)行了分析與闡述。</p><p> 第四章 系統(tǒng)概要設(shè)計(jì)</p><p> 本人在該項(xiàng)目中主要完成客戶端部分的設(shè)計(jì)與開發(fā)工作,本節(jié)詳細(xì)說明客戶端基于MVC模式的架構(gòu)設(shè)計(jì)、系統(tǒng)包設(shè)計(jì)、模塊劃分和數(shù)據(jù)存儲方案設(shè)計(jì)。</p><p> 4.1基于MVC模式的架構(gòu)設(shè)
75、計(jì)</p><p> 本應(yīng)用基于Android系統(tǒng)框架,使用Android SDK作為開發(fā)工具,整體采用MVC設(shè)計(jì)模式,將程序分為三層:視圖層、控制層與模型層。</p><p> 如圖4-1所示視圖層包括資源文件、布局XML文件及View控件,主要負(fù)責(zé)渲染控件元素、接受控制層控制以進(jìn)行數(shù)據(jù)反映和反饋用戶操作給控制層;控制層包括Android提供的Activity、Fragment和Ad
76、apter等組件,主要負(fù)責(zé)溝通視圖層與數(shù)據(jù)層,進(jìn)行業(yè)務(wù)邏輯的處理與操作??刂茖訉⒂脩舨僮鬓D(zhuǎn)換成業(yè)務(wù)流程并更新數(shù)據(jù)層,在數(shù)據(jù)層數(shù)據(jù)發(fā)生變化后依據(jù)通知反饋到視圖層進(jìn)行展現(xiàn);數(shù)據(jù)層包括網(wǎng)絡(luò)數(shù)據(jù),SharedPreferences數(shù)據(jù)、SQLite數(shù)據(jù)庫和文件本地等。它封裝了應(yīng)用程序抽象的所有數(shù)據(jù),提供接口進(jìn)行存取。數(shù)據(jù)層接受控制層更新的操作,在更新完成后向控制層通告。</p><p> 圖4-1 客戶端架構(gòu)設(shè)計(jì)<
77、;/p><p> Figure 4-1 Client architecture design</p><p><b> 4.2系統(tǒng)包設(shè)計(jì)</b></p><p> 依據(jù)MVC的架構(gòu)設(shè)計(jì),客戶端的包圖設(shè)計(jì)如圖4-2所示。model包存放所有數(shù)據(jù)模型;controller包存放所有業(yè)務(wù)邏輯處理類; 具體分包情況如下:</p><
78、;p> ?。?)控制層: com.atguigu.im.controller</p><p> 1)應(yīng)用界面相關(guān) com.atguigu.im.controller.activity</p><p> 2)存放fragment com.atguigu.im.controller.fragment</p>
79、<p> 3)顯示列表的適配器 com.atguigu.im.controller.adapter</p><p> (2)數(shù)據(jù)模型層 com.atguigu.im.model</p><p> 1)數(shù)據(jù)對象封裝 com.atguigu.im.model.bean</p><p> 2)數(shù)據(jù)庫操
80、作類 com.atguigu.im.model.dao</p><p> 3)數(shù)據(jù)庫 com.atguigu.im.model.db</p><p> (3)相關(guān)工具類 com.atguigu.im.utils</p><p><b> 4.3模塊劃分</b><
81、/p><p> 依據(jù)需求將應(yīng)用程序分成七大模塊,分別為注冊登錄模塊、主框架模塊、聯(lián)系人模塊、會話模塊、群模塊、設(shè)置模塊和其他模塊。</p><p><b> 圖 4-2模塊劃分</b></p><p> Figure 4-2 Module partition</p><p> 模塊與模塊之間的頁面調(diào)用關(guān)系如下圖所示。
82、</p><p> 圖4-3 模塊與模塊之間的調(diào)用關(guān)系</p><p> Figure 4-3 Call relationship between module and module</p><p> 4.4數(shù)據(jù)存儲方案設(shè)計(jì)</p><p> 4.4.1SQLite數(shù)據(jù)庫存儲</p><p> SQLite
83、數(shù)據(jù)庫適用存儲結(jié)構(gòu)化的數(shù)據(jù)。本應(yīng)用中采用數(shù)據(jù)庫保存用戶賬號信息、聯(lián)系人信息和邀請信息。</p><p> 圖 4-4 數(shù)據(jù)庫的整體設(shè)計(jì)圖</p><p> Figure 4-4 The overall design of the database</p><p> 4.4.2SharedPreferences存儲</p><p> S
84、haredPreference適合存儲輕量級的數(shù)據(jù),常用來保存一些標(biāo)記。本應(yīng)用中,使用其存儲是否有新的邀請信息標(biāo)記信息。由于SharedPreference與業(yè)務(wù)無關(guān),只是單純的保存數(shù)據(jù),因此將SharedPreference抽取成工具類,方便維護(hù)和以后其他項(xiàng)目使用。</p><p><b> 4.4本章小結(jié)</b></p><p> 本章依據(jù)系統(tǒng)需求分析,決定軟
85、件架構(gòu)采用MVC的設(shè)計(jì)模式,依據(jù)此架構(gòu)對程序進(jìn)行了系統(tǒng)包的劃分和設(shè)計(jì),將程序劃分為注冊登錄模塊、主框架模塊、聯(lián)系人模塊、會話模塊、群模塊、設(shè)置模塊和其他模塊。對各功能模塊進(jìn)行了子功能的劃分。對數(shù)據(jù)的存儲方案進(jìn)行詳細(xì)的設(shè)計(jì)。</p><p> 第五章 系統(tǒng)各功能模塊詳細(xì)設(shè)計(jì)</p><p> 本章主要介紹基于 Android 的移動社交軟件的詳細(xì)設(shè)計(jì)部分,這里主要分為注冊登錄模塊設(shè)計(jì),主
86、框架模塊設(shè)計(jì),聯(lián)系人模塊設(shè)計(jì)、會話模塊設(shè)計(jì)、群模塊設(shè)計(jì)、設(shè)置模塊設(shè)計(jì)以及其他模塊的設(shè)計(jì)。</p><p><b> 5.1注冊登錄模塊</b></p><p> 5.1.1歡迎頁面功能設(shè)計(jì)</p><p><b> (1)功能描述</b></p><p> 歡迎頁面程序的第一個頁面,延時3s
87、后根據(jù)是否登錄過的狀態(tài),來執(zhí)行跳轉(zhuǎn)功能。如果沒有登錄過,直接跳轉(zhuǎn)到登錄頁面;如果登錄過,獲取當(dāng)前用戶信息,并調(diào)用登錄成功后的方法,最后跳轉(zhuǎn)到主頁面。</p><p><b> ?。?)流程圖</b></p><p> 圖5-1 歡迎頁面流程圖</p><p> Figure 4-4 Welcome page flow chart</p
88、><p><b> (3)效果圖</b></p><p> 圖5-2 歡迎頁面效果圖</p><p> Figure 5-2 Welcome page effect chart</p><p> 5.1.2注冊功能設(shè)計(jì)</p><p><b> ?。?)功能描述</b>&
89、lt;/p><p> 注冊功能,首先要獲取輸入的用戶名稱和密碼,并校驗(yàn)輸入的用戶名稱和密碼,然后去環(huán)信服務(wù)器創(chuàng)建用戶賬號,最后,提示注冊成功還是失敗。</p><p><b> ?。?)流程圖</b></p><p> 圖5-3 注冊功能流程圖</p><p> Figure 5-3 Register function
90、 flow chart</p><p><b> (3)效果圖</b></p><p> 注冊頁面和登錄頁面共用一個效果圖,詳情見登錄功能的效果圖。</p><p> 5.1.3登錄功能設(shè)計(jì)</p><p><b> (1)功能描述</b></p><p> 登錄功
91、能,首先要獲取輸入的用戶名稱和密碼,并校驗(yàn)輸入的用戶名稱和密碼,然后去環(huán)信服務(wù)器登錄用戶賬號。如果登錄成功,調(diào)用登錄成功后方法,保存數(shù)據(jù)到本地?cái)?shù)據(jù)庫,并跳轉(zhuǎn)到主頁面,最后結(jié)束當(dāng)前頁面;如果登錄失敗,提示登錄失敗。</p><p><b> ?。?)流程圖</b></p><p> 圖5-4 登錄功能流程圖</p><p> Figure 5
92、-4 Login function flow chart</p><p><b> ?。?)效果圖</b></p><p> 圖5-5 登錄頁面效果圖</p><p> Figure 5-5 Login page effect chart</p><p><b> 5.2主框架模塊</b>&l
93、t;/p><p><b> (1)功能描述</b></p><p> 項(xiàng)目的主框架采用RadioGroup +RadioButton+Fragment的方式搭建。根據(jù)用戶點(diǎn)擊底部相應(yīng)的RadioButton,切換頂部對應(yīng)的Fragment。目前底部設(shè)置了三個RadioButton,分別是會話、聯(lián)系人和設(shè)置。</p><p><b>
94、?。?)流程圖</b></p><p> 圖5-6 主框架模塊流程圖</p><p> Figure 5-6 Flow chart of main frame module</p><p><b> ?。?)效果圖</b></p><p> 圖5-7 主框架效果圖</p><p>
95、; Figure 5-7 Main frame effect diagram</p><p><b> 5.3聯(lián)系人模塊</b></p><p> 5.3.1聯(lián)系人列表功能設(shè)計(jì)</p><p><b> ?。?)功能描述</b></p><p> 聯(lián)系人列表頁面包含的功能主要有:添加好友、好
96、友邀請、群組、和聯(lián)系人展示。</p><p> 點(diǎn)擊頂部的“+”號按鈕可以實(shí)現(xiàn)跳轉(zhuǎn)到添加好友頁面。在代碼中需要監(jiān)聽該“+”號的點(diǎn)擊事件</p><p> 點(diǎn)擊好友邀請條目可以實(shí)現(xiàn)跳轉(zhuǎn)到好友邀請信息列表頁面,在代碼中需要注冊監(jiān)聽該好友邀請條目的點(diǎn)擊事件。</p><p> 點(diǎn)擊群組條目可以實(shí)現(xiàn)跳轉(zhuǎn)到創(chuàng)建群頁面,在代碼中同樣需要注冊監(jiān)聽該群組條目的點(diǎn)擊事件。<
97、;/p><p> 聯(lián)系人的展示功能實(shí)現(xiàn)上,需要先創(chuàng)建一個子線程去環(huán)信服務(wù)器獲取該用戶的所有聯(lián)系人環(huán)信id信息,并將獲取的環(huán)信id轉(zhuǎn)換為對應(yīng)的聯(lián)系人。然后把獲取的聯(lián)系人信息保存到本地,最后調(diào)用環(huán)信EaseUI提供的方法進(jìn)行刷新聯(lián)系人列表頁面。</p><p> 點(diǎn)擊相應(yīng)的聯(lián)系人可以跳轉(zhuǎn)到與該聯(lián)系人的會話詳情頁面,實(shí)現(xiàn)語音,圖片和文字的聊天。</p><p> 在好友
98、邀請條目上顯示是否有新的邀請,如果有新的邀請顯示紅點(diǎn);如果沒有新的邀請信息,則不顯示紅點(diǎn)信息。</p><p> 注冊聯(lián)系人邀請信息變化和群邀請信息變化的廣播,當(dāng)接受到新的邀請,調(diào)用刷新頁面的方法,刷新頁面顯示。</p><p><b> ?。?)流程圖</b></p><p> 圖5-8 聯(lián)系人列表頁面流程圖</p><
99、;p> Figure 5-8 Contact list page flow chart</p><p><b> ?。?)效果圖</b></p><p> 圖5-9 聯(lián)系人列表頁面效果圖</p><p> Figure 5-9 Contact list page effect diagram</p><p>
100、 5.3.2添加好友功能設(shè)計(jì)</p><p><b> (1)功能描述</b></p><p> 添加好友頁面功能主要圍繞查詢聯(lián)系人按鈕和添加聯(lián)系人按鈕展開的。</p><p> 查詢按鈕:首先注冊查詢按鈕的點(diǎn)擊監(jiān)聽,當(dāng)用戶點(diǎn)擊查詢按鈕后,獲取輸入的名稱,并校驗(yàn)輸入的名稱不能為空,去服務(wù)器獲取要查詢的人,最后顯示要添加的聯(lián)系人。<
101、/p><p> 添加按鈕:首先注冊添加按鈕的點(diǎn)擊監(jiān)聽,然后聯(lián)網(wǎng)調(diào)用EMClient.getInstance().contactManager().addContact()去環(huán)信服務(wù)器添加好友邀請。如果發(fā)送好友邀請成功,提示發(fā)送成功;如果發(fā)送好友邀請失敗,提示發(fā)送失敗。</p><p><b> ?。?)流程圖</b></p><p> 圖5-1
102、0添加好友頁面流程圖</p><p> Figure 5-10 Add friends page flow chart</p><p><b> (3)效果圖</b></p><p> 圖5-11添加好友頁面效果圖</p><p> Figure 5-11 Add friends page effect char
103、t</p><p> 5.3.3邀請信息列表功能設(shè)計(jì)</p><p><b> ?。?)功能描述</b></p><p> 邀請信息列表主要是展示好友的邀請信息和群相關(guān)的邀請信息。技術(shù)上主要采用listview進(jìn)行實(shí)現(xiàn),顯示的數(shù)據(jù)來源于本地?cái)?shù)據(jù)庫中的所有邀請信息,并將獲取的邀請信息傳遞給適配器進(jìn)行顯示。</p><p&g
104、t; 在適配器中首先要實(shí)現(xiàn)BaseAdapter中的四個方法,然后獲取傳遞過來的數(shù)據(jù)。最后要在適配器中定義了一個接口,該接口中有6個回調(diào)方法,需要外界實(shí)現(xiàn)。分別是聯(lián)系人接受按鈕回調(diào)方法、聯(lián)系人拒絕按鈕回調(diào)方法、接受群申請按鈕的回調(diào)方法、拒絕群申請按鈕的回調(diào)方法、接受群邀請按鈕的回調(diào)方法、拒絕群邀請按鈕的回調(diào)方法。定義接口的好處是實(shí)現(xiàn)數(shù)據(jù)展示和業(yè)務(wù)邏輯的分開,方便日后維護(hù)。</p><p> 在該頁面還要注冊聯(lián)
105、系人邀請信息變化的廣播和群邀請信息變化的廣播,隨時監(jiān)聽邀請信息的變化。如果邀請信息變化,立刻執(zhí)行刷新該頁面。</p><p><b> ?。?)流程圖</b></p><p> 圖5-12邀請信息列表流程圖</p><p> Figure 5-12 Information flow chart</p><p><
106、;b> ?。?)效果圖</b></p><p> 圖5-13邀請信息列表頁面效果圖</p><p> Figure 5-13 Invite information list page effect chart</p><p><b> 5.4會話模塊</b></p><p> 5.4.1會話列表
107、功能設(shè)計(jì)</p><p><b> (1)功能描述</b></p><p> 會話頁面需要繼承環(huán)信EaseUI提供的EaseConversationListFragment,就可以顯示當(dāng)前會話列表頁面中的頭部和搜索框。</p><p> 調(diào)用EMClient.getInstance().chatManager().addMessageLi
108、stener,并在onMessageReceived()方法中調(diào)用EaseUI.getInstance().getNotifier().onNewMesg(list);獲取會話信息并刷新頁面。</p><p> 點(diǎn)擊每個會話條目都可以跳轉(zhuǎn)到相應(yīng)的會話詳情頁面,進(jìn)行詳細(xì)的聊天。</p><p><b> (2)流程圖</b></p><p>
109、 圖5-14會話列表頁面流程圖</p><p> Figure 5-14 Session list page flow chart</p><p><b> ?。?)效果圖</b></p><p> 圖5-15會話列表頁面效果圖</p><p> Figure 5-15 Session list page eff
110、ect chart</p><p> 5.4.2會話詳情功能設(shè)計(jì)</p><p><b> ?。?)功能描述</b></p><p> 先要創(chuàng)建一個環(huán)信提供的EaseChatFragment(),然后獲取傳遞過來的環(huán)信id和會話類型(包括單聊和群聊)然后將該Fragment替換到當(dāng)前要顯示的頁面布局上。</p><p&g
111、t; 如果當(dāng)前頁面是群聊,點(diǎn)擊頁面右上角的群聊圖標(biāo)可以跳轉(zhuǎn)到群詳情頁面。如果是單聊,右上角會顯示垃圾箱圖標(biāo),點(diǎn)擊后,可以刪除會話的所有聊天記錄。</p><p> 注冊退群廣播,如果接收到的退群廣播信息與當(dāng)前用戶的id一致,就結(jié)束當(dāng)前頁面。</p><p><b> ?。?)流程圖</b></p><p> 圖5-16會話詳情流程圖<
112、;/p><p> Figure 5-16 Session details flow chart</p><p><b> ?。?)效果圖</b></p><p> 圖5-17會話詳情頁面效果圖</p><p> Figure 5-17 Session details page effect chart</p>
113、;<p><b> 5.5群模塊</b></p><p> 5.5.1群列表功能設(shè)計(jì)</p><p><b> (1)功能描述</b></p><p> 群列表主要采用listview和listview添加頭布局技術(shù)實(shí)現(xiàn)。所有群信息展示采用listview,創(chuàng)建群組條目采用listview添加頭布局的
114、方法添加到listview中。</p><p> Listview初始化時要將數(shù)據(jù)展示的適配器添加到listview中,同時連接網(wǎng)絡(luò)去環(huán)信服務(wù)器獲取所有群信息。如果獲取成功,刷新顯示。如果失敗,提示獲取失敗。通過適配器將獲取的所有群信息進(jìn)行展示。</p><p> 點(diǎn)擊新建群條目,跳轉(zhuǎn)到新建群頁面。</p><p> 點(diǎn)擊群列表中的item,首先要獲取當(dāng)前群i
115、d和當(dāng)前會話類型,并將該數(shù)據(jù)傳遞到會話詳情頁面。</p><p><b> (2)流程圖</b></p><p> 圖5-18群模塊流程圖</p><p> Figure 5-18 Group module flow chart</p><p><b> ?。?)效果圖</b></p&g
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- Android平臺企業(yè)內(nèi)部員工社交應(yīng)用軟件的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 移動端企業(yè)內(nèi)部通訊系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 企業(yè)內(nèi)部控制畢業(yè)論文
- 基于vc++的企業(yè)內(nèi)部通信軟件的設(shè)計(jì)與實(shí)現(xiàn)
- 會計(jì)畢業(yè)論文--企業(yè)內(nèi)部控制的制度設(shè)計(jì)
- 基于jsp的企業(yè)內(nèi)部管理系統(tǒng)畢業(yè)論文
- 基于jsp的企業(yè)內(nèi)部管理系統(tǒng)畢業(yè)論文
- 基于java開發(fā)的企業(yè)內(nèi)部通信系統(tǒng)畢業(yè)論文
- 畢業(yè)論文--基于java的企業(yè)內(nèi)部通訊系統(tǒng)—前臺界面基礎(chǔ)類的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)論文--基于java的企業(yè)內(nèi)部通訊系統(tǒng)—前臺界面基礎(chǔ)類的設(shè)計(jì)與實(shí)現(xiàn)
- 基于Android的移動社交產(chǎn)品客戶端設(shè)計(jì)與實(shí)現(xiàn).pdf
- 企業(yè)內(nèi)部控制制度探討畢業(yè)論文
- 企業(yè)內(nèi)部控制制度探討畢業(yè)論文
- 企業(yè)內(nèi)部控制問題研究 畢業(yè)論文
- 企業(yè)內(nèi)部控制本科會計(jì)畢業(yè)論文
- 強(qiáng)化我國企業(yè)內(nèi)部控制的畢業(yè)論文
- 強(qiáng)化我國企業(yè)內(nèi)部控制的畢業(yè)論文
- 論企業(yè)內(nèi)部審計(jì)的風(fēng)險控制畢業(yè)論文
- 民營企業(yè)內(nèi)部控制制度的設(shè)計(jì)研究【畢業(yè)論文】
- 畢業(yè)論文企業(yè)內(nèi)部控制評價體系的建立與應(yīng)用
評論
0/150
提交評論