基于Android 的社交App 的設(shè)計與實現(xiàn)
《基于Android 的社交App 的設(shè)計與實現(xiàn)》由會員分享,可在線閱讀,更多相關(guān)《基于Android 的社交App 的設(shè)計與實現(xiàn)(31頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、廣東東軟學(xué)院本科生畢業(yè)論文 基于Android 的社交App 的設(shè)計與實現(xiàn) Design and implementation of Social App based on Android 摘 要 隨著網(wǎng)絡(luò)時代的不斷發(fā)展,人與人之間的交流方式開始朝著多元化的方向發(fā)展,像現(xiàn)在大多數(shù)人通常使用的QQ,微信等的社交類app進行遠距離聊天對話的方式已經(jīng)漸漸開始替代電話進行通話的方式了,相比于電話,QQ,微信等突出了聊天方式多種多樣,流量的消費遠比話費的消費便宜,時間控制上的便利等的多種優(yōu)點。在本次設(shè)計中將開發(fā)實現(xiàn)一款以聊天功能為主要功能的社交型App。 本app可以通過手機上的App在
2、網(wǎng)絡(luò)流暢的情況下隨時隨地進行實時聊天,在設(shè)置界面中,你可以修改自己的個人昵稱,聊天頭像,個人性別,聲音提醒,頭像顯示,而在聊天界面中,你可以發(fā)送自己的表情,也可以輸入文字,同時發(fā)送或者接收信息的時候都會有時間顯示。 本社交App開發(fā)所涉及的工具有:AndroidStudio,百度云推送,雷電模擬器 關(guān)鍵詞:社交App 百度云推送 Abstract With the continuous development of the Internet era, people to people communication began to develop in a diversified di
3、rection. Social apps such as QQ and wechat, which are commonly used by most people now, have gradually replaced the telephone for long-distance chat and dialogue. Compared with the telephone, QQ and wechat, the chat mode is diversified and the traffic consumption is far away It is cheaper than the c
4、ost of the phone, and convenient in time control. In this design, we will develop and implement a social app with chat function as the main function. This app can chat in real time anytime and anywhere under the smooth condition of the network through the app on the mobile phone. In the setting int
5、erface, you can modify your personal nickname, chat avatar, personal gender, voice reminder, and avatar display. In the chat interface, you can send your own expression, or enter text. At the same time, you have time to send or receive information Show. The tools involved in the development of this
6、 social app include: Android studio, baidu cloud push, lightning simulator Key words: social app,Baidu cloud push 目錄 1 緒論.............................................................................................................1 1.1 研究背景.....................................................
7、.........................................1 1.2 選題的意義..........................................................................................1 1.3 研究現(xiàn)狀..............................................................................................2 1.4 研究內(nèi)容....... ................................
8、..................................................2 1.5 開發(fā)目標............ .............................................................................3 1.6 總體設(shè)計思想.....................................................................................3 2 系統(tǒng)開發(fā)環(huán)境和相關(guān)技術(shù)..................................
9、.........................................4 2.1 系統(tǒng)開發(fā)環(huán)境...................................................................................4 2.1.1AndroidStudio.............................................................................4 2.1.2 百度云推送...................................................
10、..............................4 2.1.2 MySQL......................................................................................4 2.2 系統(tǒng)開發(fā)相關(guān)技術(shù)..............................................................................4 2.2.1 Java 語言簡介...........................................................
11、...............5 2.2.2 百度云推送功能簡介.................................................................5 2.2.3 MySQL功能簡介.................................................................5 3 系統(tǒng)分析.............................................. ........... .....................................6 3.1 系統(tǒng)可行性分析
12、.............................................................................6 3.2 系統(tǒng)功能需求分析..........................................................................6 3.3 系統(tǒng)性能需求分析........................................................................7 4 系統(tǒng)設(shè)計......................................
13、..........................................................8 4.1 系統(tǒng)總體設(shè)計...............................................................................8 4.2 系統(tǒng)功能模塊設(shè)計.......................................................................10 4.2.1 聊天界面..................................................
14、.. ...........................10 4.2.2 屬性修改界面.........................................................................10 4.2.3 在線人數(shù)界面.........................................................................12 4.2.4 好友列表界面................................................ ........................13
15、 4.2.5 退出界面...............................................................................14 4.2.6 設(shè)置界面.................................................................................15 4.3 數(shù)據(jù)庫設(shè)計..................................................................................16 4.3.1數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計..
16、..............................................................16 4.3.2數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計........ ....................................................16 5 系統(tǒng)實現(xiàn)...............................................................................................18 5.1 聊天功能.........................................
17、..............................................18 5.2 聊天添加表情................................................................................18 5.3 個人設(shè)置....................................................................................19 6 系統(tǒng)測試......................................................
18、.......................................21 6.1 測試過程....................................................................................21 6.2 測試環(huán)境描述..............................................................................21 6.3 測試用例執(zhí)行情況.........................................................
19、..............22 6.4 測試設(shè)計評估及改進..................................................................23 7 總結(jié)......................................................................................................24 參考文獻.....................................................................................
20、.................25 致謝....................................................................................................27 1 緒論 1.1研究背景 在21世紀的今天,各種不同的新科技改變著現(xiàn)在生活,尤其是隨著或聯(lián)網(wǎng)興起的信息時代的發(fā)展,互聯(lián)網(wǎng)的興起帶動著全世界的發(fā)展,使得各種各樣的行業(yè)與生活方式都往互聯(lián)網(wǎng)的方向靠攏,同時互聯(lián)網(wǎng)的興起也使得網(wǎng)絡(luò)社交更加的多樣化,而其中移動平臺上的社交App又頗受人們的歡迎,相比于電話通信,社交App上進行交流可謂方便
21、許多,首先不同于電話通信,社交App使用的是網(wǎng)絡(luò)流量進行通信聊天,而網(wǎng)絡(luò)流量的費用比起電話通信要便宜的多,其次在通信的過程中可以通過添加各種表情包來豐富自己的對話內(nèi)容,不像電話通信那樣只能單一的使用聲音和情緒波動來表達自己,然后在社交App上聊天可以是間斷的進行,但是在電話中,這種間斷聊天時不行的,多人聊天時,在app上可以切換不同的聊天界面進行一對多的聊天,而電話只能做到的是一對一通信,而如果中間掛了電話就需要重新?lián)芴枺谝欢ǔ潭壬弦苍斐闪艘欢ǖ牟环奖恪? 1.2選題的意義 在當(dāng)今手機和網(wǎng)絡(luò)技術(shù)飛快發(fā)展的時代中,各種各樣的手機App也是花樣百變,越來越受人們的關(guān)注和使用,更多的時候人
22、們通常會被app的UI界面所吸引,而智能手機App界面上的UI設(shè)計的目的是為了讓人與手機的操作更加的方便和人性化,同時也保障了人與人使用手機之間進行信息的傳遞交互時更加的便捷和準確。 在當(dāng)今社會中社交App成為人們不可或缺的一部分時,社交App卻朝著多樣化的方向發(fā)展,各大多數(shù)的商家都開始朝著不同的方向去尋找著適合自己定位的發(fā)展方向,同時根據(jù)自己所選的方向去設(shè)計自己的App功能,而其中優(yōu)秀的頗有代表性的例子不為少數(shù),例如,虎牙,斗魚等的主播方式,唱吧的拼歌方式,yy語音的多對多在線聊天方式。由此可知不同的主推方式可以決定一款社交App不同的成長方式和發(fā)展趨向,從而衍生出多種多樣的社交型App。
23、由此可見社交類App的發(fā)展前景是非常的巨大的。 27 1.3研究現(xiàn)狀 根據(jù)2019年有關(guān)的App報告中可知,在App的使用上,最高的使用時間已超過了4.9億小時,而相比在同年的2019年1月的使用時長上,增長了3倍有多,在2019年1月的使用時長上只有1.2億小時。在2019年中的各種網(wǎng)絡(luò)使用中,在6月份,社交使用人均人數(shù)已經(jīng)遠遠的超過了社區(qū)服務(wù)使用的人群,而網(wǎng)友們在2019年中在社交網(wǎng)站的到達率也從同年的23.9%攀升至如今的26.8%,使用時間也從2019年的一月份的1.2億小時增加到2019年六月份的4.9億小時而在目前最受歡迎的移動app調(diào)查當(dāng)中,而目前最受手機用戶
24、歡迎的手機移動App軟件的應(yīng)用服務(wù)前三分別為游戲類的手機軟件,生活服務(wù)類的手機軟件以及社交類的手機軟件,從大量的數(shù)據(jù)說明中不難發(fā)現(xiàn),社交類App的開發(fā)市場是非常的龐大的,尤其像微信,QQ那樣的社交App已經(jīng)深入到人們的生活,成為不可或缺的一部分。 從國外的App發(fā)展上來看,根據(jù)2020年國外發(fā)布的《2020年移動市場報告來看》,在2019中大部分的手機移動用戶中絕大部分的用戶都會在使用手機的時間上,有一半以上都是使用在社交媒體上,由于智能手機的普及以及網(wǎng)絡(luò)流量的大眾化下全球手機使用用戶在使用手機在移動和社交的下載量上已經(jīng)達到了95億次,相比較與往年的數(shù)據(jù)已經(jīng)是大大的提升,而在手機領(lǐng)域的使用時
25、長上相比,2019年的使用時長達到了9000億小時,相對于2017年使用時長上的6750億的時長上增加了25%,而在手機使用的領(lǐng)域上,移動,社交和內(nèi)容營銷是全球的三大趨勢,由此可見,即使在全球范圍內(nèi),社交App的使用趨勢也是很大的。 1.4研究內(nèi)容 本App為基礎(chǔ)社交類手機軟件,用戶可以利用該App在互聯(lián)網(wǎng)網(wǎng)絡(luò)流暢的情況下進行遠地聊天,通過選中聊天的對象,在聊天界面中通過輸入聊天內(nèi)容可以進行聊天,而且在聊天過程中也可以通過添加聊天表情來豐富自己的聊天內(nèi)容,而且在個人設(shè)置界面中可以修改自己聊天時的人物頭像,人物昵稱,人物性別,同時也可以選擇屏蔽自己聊天時的人物頭像,同時可以查看好友界面,
26、在好友界面中可以刪除好友,并且在好友界面中可以刪除好友。 1.5開發(fā)目標 開發(fā)目標有以下幾點 (1) 能查看使用軟件在線人數(shù),并且能點擊在線用戶的頭像進行聊天 (2) 能進行實時聊天,并且可以發(fā)送表情,在頁面上可看到發(fā)送信息的時間 (3) 能修改人物相關(guān)屬性,相關(guān)屬性包括昵稱,頭像,性別。 (4) App能在各種真機上穩(wěn)定運行 (5) 能夠查看好友界面,并且能夠刪除好友 (6) App可以在后臺運行并且在后臺運行的時候能夠有信息提醒 1.6總體設(shè)計思想 (1)界面整潔,給人一種開闊感 (2)通過把給每個圖片設(shè)置一個xml文件,使得在圖片總多的條件下更換圖片出現(xiàn)差錯
27、的概率下降 (3)使用Android studio開發(fā),相比于別的開發(fā)工具,更加的適合安卓App的開發(fā),在使用上也比較穩(wěn)定 (4)軟件app出現(xiàn)錯誤后可以提交錯誤報告,方便維護 (5)按鈕選擇上采用簡單易懂的按鈕,即使沒有中文提示,也能看懂按鈕意思 (6)使用開源的SDK以及連接服務(wù)器,使App在連接的時候更加的穩(wěn)定 2系統(tǒng)開發(fā)環(huán)境和相關(guān)技術(shù) 2.1系統(tǒng)開發(fā)環(huán)境 2.1.1 Android Studio 不同于eclipse,Android Studio是一個在手機端軟件開發(fā)十分方便的編程軟件, Android studio提供了一系列的工具,使得在使用上能夠更好的開
28、發(fā)和調(diào)試代碼。同時Android擁有專門的重新代碼構(gòu)建和快速自動修復(fù)錯誤,問題出錯提示工具可修復(fù)各種代碼的可用性等問題。 2.1.2 百度云推送 百度云推送是一款消息推送服務(wù);能夠云端與客戶端之間實現(xiàn)長距離推送服務(wù),同時也能夠進行多種不同種類的信息推送,支持一次性向所用用戶或者部分用戶或者特定群體推送信息,而且可以統(tǒng)計發(fā)送的所有的信息給用戶以便統(tǒng)計,這同時也方便開發(fā)者進行系統(tǒng)的維護和系統(tǒng)的開發(fā)。 2.1.3 MySQL MySQL是一個由約點MySQLAB公司開發(fā),所屬Oracle旗下的一款開源的數(shù)據(jù)庫,本產(chǎn)品可用于組積,存儲和管理數(shù)據(jù),能夠處理并擁有上萬條記錄并可運行于多個系統(tǒng)上,支
29、持C,C++,Python,java等多種語言,而且MySQL支持創(chuàng)建大型數(shù)據(jù)庫,該大型數(shù)據(jù)庫最大可支持表文件為8TB的文件由于是開源數(shù)據(jù)庫用戶可以通過修改相應(yīng)的源碼來開發(fā)自己MySQL系統(tǒng) 2.2 系統(tǒng)開發(fā)相關(guān)技術(shù) 2.2.1 Java語言簡介 java語言是一種擁有多種優(yōu)秀特點的編程語言,首先是跨平臺性,在不同的操作系統(tǒng)中,java能夠做到使用自帶的虛擬機識別特定的機器碼指令,使得自身具備跨平臺性,然后多線程性使得java在允許一個應(yīng)用程序同時存在兩個或兩個以上的線程,簡單性使得java能夠不拘于特定的環(huán)境即使使用記事本,文件編輯器等的軟件來進行代碼實現(xiàn),也可以編譯過后直接運行。
30、 2.2.2 百度云推送功能簡介 在使用百度云推送時,先得去服務(wù)者中心下載統(tǒng)一的在Android Studio平臺開發(fā)時所需要的SDK或者其他種類編程語言所用到的SDK,而且在開發(fā)中心的管理頁面中可以看到相應(yīng)的Api,推送用的測試demo以及SDK,通過把API和SDK導(dǎo)入到項目中,然后在項目中,導(dǎo)入相應(yīng)的方法,配置完Api Key和Secret Key便可以實現(xiàn)聯(lián)網(wǎng)推送。 2.2.3 MySQL功能簡介 MySQL是一款開源的關(guān)系型數(shù)據(jù)庫,而在數(shù)據(jù)庫中你可以創(chuàng)建多個表,每個表中會有相應(yīng)的表和列,在表中主鍵是唯一的,一個表中只能有一個主鍵,可以通過主鍵來查找數(shù)據(jù),外鍵可用于關(guān)聯(lián)兩個邊,
31、另外還有索引,和復(fù)合鍵等的功能,在連接MySQL上可以使用二進制和PHP腳本,連接成功后,便可以訪問數(shù)據(jù)庫中的數(shù)據(jù)。 3 系統(tǒng)分析 3.1 系統(tǒng)可行性分析 本app通過在網(wǎng)絡(luò)良好的情況下實現(xiàn)遠地實時聊天,解決了廣大用戶們對話費貴的擔(dān)憂,實現(xiàn)聊天日?;诹奶斓倪^程中不用擔(dān)心漏掉什么信息,不用擔(dān)心說錯了什么,更不用著急的結(jié)束對話,大大加強了聊天的趣味性。在app實現(xiàn)的技術(shù)上,介于百度云推出的強大的云推送包上,在勾搭服務(wù)器時,直接使用百度云所提供的包里面的服務(wù)器,在穩(wěn)定性上比任何我們自己所勾搭的服務(wù)器穩(wěn)定的多,在一定程度上可以確保系統(tǒng)的穩(wěn)定性,而編程代碼使用的是java
32、語言,所以可以在多種的操作系統(tǒng)中進行修改和操作,而且在修改的時候也不一定需要特殊的修改工具,甚至打開一個txt文本也可以對立面的內(nèi)容進行操作,而在百度云推送的管理者模式中可以對賬號進行管理,對一些發(fā)送敏感信息的用戶或者某些敏感內(nèi)容進行操作,同時管理員可以給所有在登錄的角色發(fā)送信息,所有在維護安全的方面上也是有一定的保障的,然后從用戶的方面去看,由于界面的整潔打發(fā),按鍵較少的情況下,用戶很容易就能上手使用該款app,更加的方便用戶的使用。 3.2 系統(tǒng)功能需求分析 本app功能分為,聊天功能,個人信息修改,后臺運行功能,下拉刷新信息功能,錯誤返回功能 (1) 聊天功能:聊天功能為本ap
33、p最主要的功能,在使用相同app的情況下,用戶們可以看到在線用戶的id,點擊id頭像就可以進入到聊天界面與你點擊所選的用戶進行聊天。 (2) 個人信息修改功能:在個人信息修改頁面中,用戶可以在該頁面中修改自己的聊天昵稱,聊天頭像,人物性別,點擊保存后,信息會同步到聊天界面中。 (3) 后臺運行功能:后臺運行功能是指當(dāng)App通過非退出方式返回手機主頁時,可以通過下拉守手機的菜單當(dāng)中看到App正在后臺運行的提示,并且可以通過點擊該提示去進入App。 (4) 下拉刷新信息功能:就是在頁面中可以通過下拉刷新信息,并且會提示下拉刷新的時間。 (5) 錯誤返回功能:就是當(dāng)App異常退出時,不是Ap
34、p直接閃退,而是跳轉(zhuǎn)到是否選擇提交錯誤報告的頁面,用戶可以在該頁面中選擇提交報告后退出或者直接退出App。 (6) 個人空間:可以通過點擊個人的屬性進入到個人空間,查看空間內(nèi)容 3.3系統(tǒng)性能需求分析 (1)主頁:可以看到在線的人數(shù),并且點擊在線角色的頭像便可以進入聊天界面進行聊天。 (2)聊天:在聊天界面中,你可以看到對方給你發(fā)送的聊天內(nèi)容,并且你可以通過聊天框內(nèi)輸入聊天信息發(fā)送回對面。 (3)好友:用于觀看好友列表。 (4)人物屬性:用于修改個人資料,個人資料包括頭像,昵稱,性別。 (5)退出:用戶可以在指定的頁面中點擊退出的按鈕,然后會跳轉(zhuǎn)到二次確認退出的界面中,再次點擊退
35、出便可退出App (6)錯誤報告提交:當(dāng)程序出現(xiàn)異常錯誤崩潰時,先跳轉(zhuǎn)到錯誤報告提交頁面,可以選擇提交報告后退出app,也可以直接退出app。 (7)個人空間:可以查看個人空間內(nèi)容 4系統(tǒng)設(shè)計 4.1系統(tǒng)總體設(shè)計 (1)主頁 在主頁,可以查看在線的用戶,以及對好友頁面的跳轉(zhuǎn)和設(shè)置頁面的跳轉(zhuǎn)。 (2)好友頁面 在好友頁面中,可以在該頁面中查看并且刪除好友,而且能夠通過下拉刷新是否有新的消息接收。 (3)設(shè)置模塊 在設(shè)置頁面中可以修改個人信息,以及部分App功能功能的修改,而且該頁面下會有個退出按鈕,點擊該按鈕后會跳轉(zhuǎn)到二次確認退出界面,再次確認后可以退出App。
36、 (4)刪除好友 通過點擊某個好友頭像達到數(shù)秒后,會出現(xiàn)是否需要刪除好友的提示,按照提示可以完成實現(xiàn)刪除好友。 (5)個人信息修改 通過點擊個人資料后會跳轉(zhuǎn)到個人信息修改頁面,該頁面下可實現(xiàn)對個人信息的修改 (6)退出App 在點擊退出按鍵后,會跳轉(zhuǎn)到退出頁面,點擊退出頁面就能成功退出該App 圖4.1總體結(jié)構(gòu)圖 4.2系統(tǒng)功能模塊設(shè)計 4.2.1聊天界面 該頁面是用于用戶與用戶間聊天所使用的,用戶可以通過點擊聊天對象的頭像進入該頁面,頁面上會顯示聊天信息所發(fā)送的時間,在輸入框中可以選擇發(fā)送文字信息或者表情包,其中可以使用的表情一共有18,并且可以
37、通過點擊退出鍵退出表情包頁,在確認完要發(fā)送的信息后,用戶只需要點擊發(fā)送按鈕便可以發(fā)送信息,同時在設(shè)置頁面中更改的頭像信息也會更新到相關(guān)的主頁面和聊天頁面。主頁面如圖4.2所示: 圖4.2聊天界面 4.2.2屬性修改界面 屬性修改頁面是用于對個人的屬性進行修改,其中可以修改的項目有個人頭像,個人性別和昵稱更換,其中頭像選擇和性別更換使用的是滾輪式選擇方法,目前可提供的頭像選擇一共有19個,而且昵稱的輸入是非空,確認輸入信息后點擊確認修改便可以更改個人信息。然后通過刷新頁面,便可以在看到修改過的個人信息也會同步到主頁和聊天頁面中。屬性修改頁面如圖4.3所示 圖
38、4.3屬性修改界面 4.2.3在線人數(shù)界面 在線人數(shù)界面是用于查看在線登錄app的人數(shù)的,如果有用戶登錄該app就會顯示在該app上,用戶可以通過點擊別的用戶進入聊天界面,同時左上角和右上角的按鈕點擊后分別可以進入到好友界面和設(shè)置界面,左邊所進入到的是好友界面,右邊所進入到的是設(shè)置界面,然后置頂?shù)氖钱?dāng)前自己所使用的名字,可以通過在個人設(shè)置中修改自己的昵稱去更改置頂?shù)拿?。在線人數(shù)界面如圖4.4所示 圖4.4人物在線界面 4.2.4好友列表界面 好友列表界面是用于對好友列表進行查看的列表,目前界面上是只有一個好友的分類,通過程序后臺可以給分類添加別的組類,在界面中,可
39、以給在線好友添加別的種類,目前只有一種好友種類,在搜索欄中可以加入別人的昵稱,然后界面上就會出現(xiàn)所搜索的昵稱人。然后可以通過長按好友名稱會提示是否需要刪除好友,當(dāng)點擊確認后會刪除好友,否則則返回好友列表界面。好友列表界面如圖4.5所示 圖4.5好友界面 4.2.5退出界面 退出界面是用于退出該app所使用的界面,通過在賬號管理界面中點擊紅色的退出按鈕會跳轉(zhuǎn)到該頁面對退出選項進行二次的確認,在該頁面中用戶只能點擊的只有確定退出的按鈕,點擊該按鈕后,將會退出該社交app。退出界面如圖4.6所示 圖4.6 退出界面 4.2.6設(shè)置界面 在設(shè)置中,一共有5個
40、內(nèi)容,人物狀態(tài),個人資料,新消息聲音提醒以及顯示自己頭像的功能,在人物狀態(tài)中你可以看到自己所設(shè)置的頭像,昵稱以及在線狀態(tài),這些屬性會隨著個人屬性的修改而更換,在個人資料欄中,你可以通過點擊該欄跳轉(zhuǎn)到屬性修改界面中,通過修改屬性保存后,所修改信息保存后會同步到人物狀態(tài)中去,而新消息聲音提醒欄中,用戶可以選擇開啟或者關(guān)閉決定是否開啟或者在接收消息時是否會有聲音提醒,而聊天是否顯示頭像欄中,玩家可以選擇開啟或者關(guān)閉聊天時是否會顯示自己的頭像,如果選擇開啟,在聊天界面中發(fā)送信息時會顯示自己的頭像,選擇關(guān)閉的話,在聊天界面中發(fā)送信息時則看不到自己的頭像,最后一欄就是退出按鈕,點擊退出按鈕之后會跳轉(zhuǎn)到退出
41、界面,用于對app進行退出所使用的按鈕。設(shè)置界面如圖4.6所示 圖4.6設(shè)置界面 4.3 數(shù)據(jù)庫設(shè)置 4.3.1數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計 根據(jù)App的使用,一個用戶可發(fā)送多條信息,并且擁有多條信息的信息保存記錄,E-R圖如下: 圖4.7 E-R圖 4.3.2數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計 本數(shù)據(jù)庫命名為App,數(shù)據(jù)庫中所包含的表有用戶信息表(user),聊天記錄表(talk) 數(shù)據(jù)庫名稱:App 用戶信息表(user) 字段 類型 可否為空 描述 id int(11) 否 用戶id username varchar(30) 否 用戶名字 userfa
42、ce varchar(32) 否 用戶頭像 usersex varchar(32) 否 用戶性別 實現(xiàn)代碼 CREATE TABLE `user( `id`int(11)NOTNULLAUTO_INCREMENT `username`varchar(30)NOTNULLAUTO_INCREMENT `userpass`varchar(32)NOTNULLAUTO_INCREMENT, `truename`varchar(32)NOTNULLAUTO_INCREMENT PRIMARYKEY(`id`) ) ENGINE=InnoDBAUTO_INCREMENT
43、=23DEFAULTCHARSET=utf8; 聊天記錄表(talk) 字段 類型 可否為空 描述 id Int(11) 否 用戶id talkuser varchar(64) 否 聊天對象名稱 savetalk varchar(255) 否 聊天內(nèi)容 savetime varchar(64) 否 聊天時的時間 代碼實現(xiàn) CREATE TABLE `talk`( `id`int(11)NOTNULLAUTO_INCREMENT `talkuser`varchar(30)NOTNULLAUTO_INCREMENT `savetalk`va
44、rchar(32)NOTNULLAUTO_INCREMENT, `savetime`varchar(32)NOTNULLAUTO_INCREMENT PRIMARYKEY(`id`) ) ENGINE=InnoDBAUTO_INCREMENT=23DEFAULTCHARSET=utf8; 5系統(tǒng)實現(xiàn) 5.1聊天功能 聊天功能指的是當(dāng)發(fā)送聊天信息的用戶發(fā)送信息給聊天對象時,聊天對面能夠接收到信息,并且也能夠信息給對方。 在本次設(shè)計中,我是通過使用百度云推送去完成聯(lián)網(wǎng)實時聊天功能的,完成實時聊天功能可以通過以下三步的步驟完成 第一步:注冊百度云賬號,然
45、后在開發(fā)者服務(wù)管理創(chuàng)建相關(guān)工程,便可以查看你所創(chuàng)建的相關(guān)工程的API Key和Secret Key,在開發(fā)中心下載你所所用編程軟件所匹配的SDK。 第二步:在清單文件中添加權(quán)限,注冊消息接收的receiver。 第三步:在主方法中添加PushManager.startWork(getApplicationContext()這行代碼以及使用Api Key和Secret Key所需要的方法,然后創(chuàng)建繼承FrontiaApplication的類,創(chuàng)建PushMessageReceiver用于自定義廣播的接受,在MyPushMessageReceiver中添加獲取信息的代碼以及處理錯誤返回的代碼,
46、導(dǎo)入百度云推送所需要的jar包以及so文件 最后創(chuàng)建相關(guān)界面的xm文件對界面的布局進行編寫。 5.2聊天添加表情 在聊天界面中可以通過選擇表情,點擊發(fā)送后,發(fā)送表情給聊天對象。如圖5.2 要實現(xiàn)發(fā)送表情首先得知道Pattern和Matcher,先說下Pattern,Pattern是一個正則表達式經(jīng)過編譯后所變現(xiàn)出來的模式,然后死Matcher,你所使用的每一Matcher對象它需要去依據(jù)Pattern做匹配檢查,然后通過把這兩個類搭配使用就可以對特定的類進行篩選和匹配了,然后添加import java.util.regex.Matcher和import java.util.rege
47、x.Pattern這兩行代碼去調(diào)用Matcher和Pattern,然后給每個可以發(fā)送的表情定義好,通過在方法中給表情包的頁數(shù)和表情包一頁多少的個數(shù)定義好數(shù)量,最后創(chuàng)建點擊表情實現(xiàn)跳轉(zhuǎn)的類,完成點擊表情發(fā)送表情的跳轉(zhuǎn)。 圖5.2 5.3 個人設(shè)置 在個人設(shè)置的頁面上,有頭像設(shè)置,性別設(shè)置,提示音開關(guān)和頭像開關(guān),在提示音開關(guān)和頭像開關(guān)的實現(xiàn)只需要使用基礎(chǔ)的開關(guān)控件就好,但頭像設(shè)置和性別設(shè)置(如圖5.3)卻得使用別的方法去完成,雖然說性別設(shè)置只有兩個選項,可以選擇別的方法去實現(xiàn),但頭像設(shè)置里,我導(dǎo)入了一共19個頭像,由于選擇眾多,所以我選擇了滾輪選擇器來實現(xiàn)選擇功能在頭像的選擇上使用的是
48、滾輪布局WheelView,通過seOnEndFlingListener的方法,可以當(dāng)滾輪滑動停止時,直接調(diào)用停止時所選中的當(dāng)前選中的項,然后在WheelView這個類中修改所選的背景,上下陰影以及中間做選擇時的所用的矩形等。最后再完成相對應(yīng)的xml文件。 圖5.3 6 系統(tǒng)測試 6.1測試過程 (1) 第一步:首先對App分析,然后制定相應(yīng)的策略,之后再根據(jù)大概需要的內(nèi)容進行測試計劃。該app是使用Java語言編寫的社交類實時App,本網(wǎng)站主要功能有進行聊天,修改個人相關(guān)屬性,查看在線人數(shù),對系統(tǒng)進行功能測試,檢查系統(tǒng)是否能完成預(yù)定的功能。 (2) 第二步:搭建
49、測試所需要的環(huán)境,然后執(zhí)行測試用例。 (3) 第三步:提交缺陷。 (4) 第四步:消除缺陷。 (5) 第五步:完成測試。 6.2 測試環(huán)境描述 應(yīng)用服務(wù)器配置: (1) CPU:Intel(R)Core(TM)i5-4210U CPU @1.70Hz (2) ROM:8G (3) OS:Windows10 (4) 模擬器:雷電模擬器 6.3 測試用例執(zhí)行情況 測試用例執(zhí)行情況如表6.1所示 表6.1 測試用例執(zhí)行情況 需求功能名稱 測試用例名稱 執(zhí)行說明 執(zhí)行情況 是否通過 主頁面 主頁面 用于查看頁面同時登錄的人數(shù),當(dāng)頁面有除了自
50、己外的別的用戶能否可以點擊該用戶頭像,進入聊天界面,進行聊天 良好 是 聊天頁面 聊天頁面 是否能在該頁面中發(fā)送或者接收信息,能否發(fā)送表情,并且對方是否能接收到表情 良好 是 好友頁面 好友頁面 用于查看該頁面下好友的人數(shù),用戶可以通過在該頁面下點擊好友的名稱發(fā)送信息,或者發(fā)送離線信息 良好 是 設(shè)置頁面 設(shè)置頁面 能否在主頁面成功跳轉(zhuǎn)到設(shè)置頁面,設(shè)置頁面上是否能正確出現(xiàn),相對應(yīng)的功能 良好 是 個人屬性頁面 個人屬性頁面 用于修改個人昵稱,頭像,性別的信息,點擊保存后可以保存所選項目 良好 是 退出界面 退出界面 在退出界面用戶可以點擊確認退
51、出的按鈕,然后再次確定退出后,App退出 良好 是 開發(fā)問題:1個 問題:Service not available 分析:應(yīng)該是百度云端的服務(wù)器出現(xiàn)異常,導(dǎo)致服務(wù)器訪問不了,也有可能是代碼處理不當(dāng)導(dǎo)致 其他問題:無 6.4 測試設(shè)計評估及改進 本次測試是對app的執(zhí)行情況和app的產(chǎn)品質(zhì)量進行相對應(yīng)的測試,測試的最終目的是為了驗證app的可行性和用戶對app的需求情況,其中更能夠在測試的過程中盡量早的發(fā)現(xiàn)app所產(chǎn)生的漏洞以及bug,并能夠盡早的進行修改和更正,同時在測試的過程中能夠進行一定程度的代碼修改,在對用戶的體驗下能夠更進一步的加強,使app的滿意
52、度能夠得到有效的提升。 本次測試對app的各個模塊以及整體的功能都進行了測試,在測試前,已經(jīng)基本的保證了軟件的穩(wěn)定性,所以在運行起來時還是挺順利的,在測試過程中,主要碰到過的問題是,對于app的要求越來越高,在本來我的app只是通過局域網(wǎng)連接實現(xiàn)聊天,后來才使用的百度云推送,在更換連接方式時,問題是層出不窮,而且是沒接觸過的技術(shù),所以運用起來時還是有一定的困難。而后又隊界面進行了美化,本來使用的是較老式的全套傳統(tǒng)圖標,后來通過百度,對所有的圖標進行了逐個更換,測試過后,app的表面更加的整潔,但app還是存在一定的缺陷,而且在操作上,上手難度上和功能完美度上還有很大的提升空間。
53、7.總結(jié) 本次畢業(yè)設(shè)計是基于Android平臺使用Android Studio軟件利用java語言所開發(fā)的社交類App,本次設(shè)計充分的使用到了在大三選修Android方向時,老師所教的所有關(guān)于Android知識,在本次選擇畢業(yè)設(shè)計的題目中,我馬上想到的就是我首次所學(xué)習(xí)的Android代碼就是仿微信設(shè)計的App,而在該次畢業(yè)設(shè)計中,所使用到的布局控件,大部分都是通過在所學(xué)過的知識下進行修改的,而只有極少數(shù)是通過網(wǎng)上學(xué)習(xí)然后使用的。在本社交App的構(gòu)思上,參照了目前使用廣泛的微信和QQ的聊天App,然后明確本App所要完成的功能,最后是進行App的測試。在本畢業(yè)設(shè)計中主要完成的功能有聊天,屬
54、性修改,好友查看,退出功能,然后還有各種優(yōu)化App使用的各種小功能。在開發(fā)App的過程中遇到的問題期間主要通過網(wǎng)上查閱出錯問題的信息尋找答案,而在某些未嘗試過的新功能的添加上,通過下載各種開源代碼,尋找最優(yōu)的解決方案來解決,主要還是通過多查閱多嘗試慢慢完成,其中也遇到各種的挫折,都是靠堅持下完成的。雖然本App是完成了的,但基于自身技術(shù)問題上,有其他功能還無法完成,例如通過使用手機注冊賬號,發(fā)送驗證碼等功能,由于會涉及到個人信息的泄露,所以在處理上需要去申辦各種程序就沒有完成,而通過百度云推送信息的功能學(xué)習(xí)的也只是表皮功夫,有些關(guān)于百度云出現(xiàn)的錯誤有時還無法解決,所以總的來說項目還不夠熟練,在
55、各種功能的實現(xiàn)上還仍需進一步的加強 參考文獻 [1]張興科.?JSP動態(tài)網(wǎng)站設(shè)計項目教程[M].?北京:?中國人民大學(xué)出版社,2010.? [2]趙增敏.?JSP網(wǎng)站開發(fā)詳解[M].?北京:?電子工業(yè)出版社 [3]羅國慶,?陳良萍.?網(wǎng)站建設(shè)案例精粹[M].?北京:?電子工業(yè)出版社,?2004. [4]李興華,?王月清.?名師講壇:Java?Web開發(fā)實戰(zhàn)經(jīng)典基礎(chǔ)篇(JSP,?Servlet,?Struts,?Ajax)[M].? 北京:?清華大學(xué)出版社,?2010. [5]唐漢明,?翟振興,?關(guān)寶軍,?王洪權(quán).?深入淺出MySQL(第2版)[M].?北京:?人民郵電出版
56、 社,?2014. [6]Christine?Hofmeister.?Applied?Software?Architecture[M].?北京:電子工業(yè)出版社,?2003. [7]李孟燃.?網(wǎng)頁設(shè)計中計算機多媒體技術(shù)的應(yīng)用?[J].?計算機光盤軟件與應(yīng)用,?2014?12? [8]Abraham?Silberschatz.?Database?System?Concepts[M].?北京:?機械工業(yè)出版社,?2003. [9]王珊,薩師煊.?數(shù)據(jù)庫系統(tǒng)概論[M].?高等教育出版社,2006.? [10]劉克.MVC架構(gòu)及其在?Web應(yīng)用開發(fā)中的應(yīng)用[M].計算機應(yīng)用與軟件.2006.?
57、[11]王國輝,王毅等,《Java?Web開發(fā)典型模塊大全》,北京,人民郵電出版. [12]王志軍,孫月霞.?基于Web開發(fā)的幾種服務(wù)器端腳本語言的分析與比較[J]計算機應(yīng)用研究,2006 [13]桑德斯,劉彥博.高性能網(wǎng)站建設(shè)指南[M].北京:電子工業(yè)出版社,2008. [14]儲久良,WEB前段開發(fā)技術(shù)-HTML、CSS、Javascript,清華大學(xué)出版社,2016 [15]張玉孔.??B2C型中小企業(yè)電子購物系統(tǒng)的設(shè)計[J].?商場現(xiàn)代化,2006. [16]王永茂,JSP程序設(shè)計+——用JSP開發(fā)Web應(yīng)用,清華大學(xué)出版社,2010 [17]朱敏。 JavaScript在
58、HTML中的應(yīng)用探討[J]. 科技視界,2016, [18]矯靜怡。 基于HTML5的多平臺采購系統(tǒng)的設(shè)計與實現(xiàn)[D].大連理工大學(xué),2014. [19]張坤,呂義正。 HTML5客戶端存儲的安全性探析[J]. 黃山學(xué)院學(xué)報,2014, [20]黃悅深。 基于HTML5的移動Web App開發(fā)[J]. 圖書館雜志,2014, [21]黎志雄,黃彥湘,陳學(xué)中。 基于HTML5游戲開發(fā)的研究與實現(xiàn)[J]. 東莞理工學(xué)院學(xué)報,2014, [22]弗蘭納根,JavaScript權(quán)威指南,機械工業(yè)出版社,2016 [23]Giles Colborne,簡約至上:交互式設(shè)計四策略,人民郵電出版
59、社,2016 [24]Alan Cooper,Robert Reimann,David Cronin,Christopher Noessel. About Face,2008 [25]Smashing Magazine,眾妙之門:網(wǎng)站UI設(shè)計之道,人民郵電出版社,2016 [26]孫鑫.?Java?Web?開發(fā)詳解?[M].?北京?:電子工業(yè)出版社,2006,169-296. [27]劉斌,NetBeans權(quán)威指南,電子工業(yè)出版社,2014 [28]楊燁,DreamweaverCS6網(wǎng)頁設(shè)計實用教程,華中科技大學(xué)出版社,2014 [29]王國輝,王春斌.??Java?Web編程寶典:十年典藏版[M].?北京:人民郵電出版社,2011.
- 溫馨提示:
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. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學(xué)數(shù)學(xué)ppt課件圓的認識
- 作文寫作經(jīng)驗《如何培養(yǎng)學(xué)生的寫作個性》課件
- 焊盤設(shè)計標準課件
- 《四通八達的交通》部編版道德與法治ppt課件
- 《歐洲文明的起源》世界古代史課件
- 實驗動物與動物實驗室的生物安全防護課件
- 精神科護理的特殊性及對護士的要求9月20日課件
- 少兒口才
- 最新初中生畢業(yè)季相冊
- 北師大版高中數(shù)學(xué)必修一ppt課件
- 《北歐裝飾風(fēng)格》課件
- 主題班會成敗得失談主題班會獲獎ppt課件
- 工程熱力學(xué)工程熱力學(xué)第7章課件
- 醫(yī)學(xué)類八年制口腔醫(yī)學(xué)專業(yè)教育初步經(jīng)驗課件
- 企業(yè)文化:大雁文化和成功哲學(xué)