android毕业设计——基于Android+XAMPP+MySQL的家校互动平台设计与实现(毕业论文+程序源码)——家校互动平台
基于Android+XAMPP+MySQL的家校互動平臺設計與實現(畢業論文+程序源碼)
大家好,今天給大家介紹基于Android+XAMPP+MySQL的家校互動平臺設計與實現,文章末尾附有本畢業設計的論文和源碼下載地址哦。需要下載開題報告PPT模板及論文答辯PPT模板等的小伙伴,可以進入我的博客主頁查看左側最下面欄目中的自助下載方法哦
文章目錄:
- 基于Android+XAMPP+MySQL的家校互動平臺設計與實現(畢業論文+程序源碼)
- 1、項目簡介
- 2、資源詳情
- 3、關鍵詞
- 4、畢設簡介
- 5、資源下載
- 6、更多android畢業設計項目
1、項目簡介
2、資源詳情
項目難度:中等難度
適用場景:相關題目的畢業設計
配套論文字數:15263個字68頁
包含內容:全套源碼+配整論文
開題報告、論文答辯、課題報告等ppt模板推薦下載方式:
3、關鍵詞
互聯網、家校互動、家校協作、功能應用4、畢設簡介
提示:以下為畢業論文的簡略介紹,項目完整源碼及完整畢業論文下載地址見文末。
概述
1.1 研究背景和意義
社會的發展,智能手機的普及讓各種各樣的手機應用APP成為我們生活中必不可少的一部分,教育行業也搭上了這趟車,走上了“互聯網+”教育,為了方便學生、家長、學校三體互動,讓家長和學生能及時收到學校發送的消息,滿足用戶之前的實時交流,“愛吖校推”應運而生。
“愛吖校推”是一款基于Android的家校互動平臺。隨著社會的發展,各種APP在手機行業發展的助推下應用越來越廣泛。某權威調研機構表示,2016年,Android系統已經占領市場份額高達81.3%,而大名鼎鼎的iPhone屈居第二,僅占17.8%,更令人驚奇的是,Android的市場份額還在持續增多。
社交是人類社會性群體的基本屬性。而“愛吖校推”就是一款基于教育行業的社交類APP。它支持所有的即時通訊應該包含的功能,文件發送、位置發送、音視頻通話、圖片、視頻等,同樣也支持校方和教師發送公告作業并推送到相應群體的Android智能終端。在當前微信用戶如日中天的基礎上,“愛吖校推”采用微信朋友圈的方式,支持消息發送、點贊、評論、拍照、秒拍、微視頻等群體社交,真正進入微社交時代。這是一件非常有意義的事情。
1.2 國內現狀
家校互動的需求長期已有,它的研究和設計從本世紀初就開始了,而且也取得了不小的成效。但在早期由于技術的限制,所以存在信息的單項溝通,比如早期的“校訊通”。它就是單純的通過收發短信來達到家校信息交流,教師得不到任何的反饋。之后隨著移動互聯網的發展,微信平臺如魚得水,其雙向溝通性讓一線教師感覺是雪中送炭,但其信息篩選性一直為人詬病。雖然微信等即時通訊軟件一定意義上解決了家校互動的問題,但這樣的處理,無疑是增加了教師的工作量。
近年來,有 “愛上學”、“和校園”、“愛學習”、“校訊通”等已經運行的家校互動支持平臺20多個,這些平臺主要實現信息發布查看等功能,對于信息的及時推送功能匱乏,加之在校大學生多用QQ群或者微信群作為溝通平臺,常常使得通知公告信息錯過,導致了學生之間的信息不對等,而國內超高量的外出打工家長,想看到沒有手機的孩子實在困難。所以“愛吖校推”在操作簡單的基礎上,優化了拍照和微視頻,讓老師可以把學生的學校情況實時地分享給大家。消息的離線推送也使得信息的準確到達率迅速提升,而附帶音視頻通話的及時通訊板塊,也是拉近了學生、家長、教師之間的距離。
1.3 論文的思路和結構
該論文分十個部分進行逐一講解:
首先把概述作為了第一部分,該系統平臺的研究背景和意義以及國內現狀作為主要講述內容。
第二部分是研究方案和架構概述,主要闡述了本課題預計花費時間的設計方案、軟件開發設計方案以及設計目標,最后做了架構概述。
第三部分是需求分析,主要從用戶需求、性能需求和功能需求三方面闡述了需求板塊需要具備的東西。本部分還用了用例圖、用例說明增加相關人員的理解。
第四部分是概要設計,主要從Android端和服務器端分別闡述了功能總體設計,然后畫了數據庫E-R圖,最后是系統類圖和界面設計。
第五部分是詳細設計,主要從數據庫設計、CS協議通信、時序圖三個方面闡述。
第六部分是系統實現,主要介紹了本次系統實現所用到的開發工具,并展示了開發界面總覽和核心功能代碼的講解。
第七部分是軟件測試,分版塊進行功能、性能、安全、交叉事件以及兼容性板塊進行測試并修改系統bug。
第八、九部分是本次畢業設計中的收獲和結論以及自己的感想。
最后是本文所參考的各種有價值的資料列表。
2 研究方案和架構概述
2.1 預計花費時間設計方案
1)花費7天查閱了關于即時通訊的資料以及小米推送的官方文檔,并對其進行分析整理。
2)花費10天查閱了一些技術博客和相關論壇以及GitHub上比較火的框架和項目。
3)花費15天進行數據庫設計,并對系統框架做一個全局性思考;
4)花費10天編寫后臺API數據接口,并做簡單測試;
5)花費1個月編寫Android端代碼,并對后臺數據可行性進行驗證修改;
6)最后進行常規測試,并在各大機器上運行,以保證不會出現致命Bug。
2.2 軟件開發設計方案
采用MVC開發模式,按照功能可劃分為:發通知,發作業,互評點贊,圖片并茂,即時通訊,小米推送等模塊。
功能模塊細化:
1)班級圈:班級圈包含教師可發放通知、作業,基本支持圖文并茂社區化和微視頻上傳。家長可查看自己班級的每一條信息,以及進行互評回復點贊。
2)即時通訊:即時通訊板塊主要依賴于環信,在環信SDK的大前提下,引入基本的即時通訊和音視頻通話。
3)社區板塊:社區板塊是用戶只要在一個班級即可進行類似朋友圈的交流,依然可以進行互評點贊回復。
4)發現板塊:發現板塊主要是為加載一些廣告和活動。
5)我的板塊:我的板塊主要是提供用戶信息的更改設置等。
6) 推送板塊:當前推送繼承了Google推送、華為推送和小米推送,以最大的可能提高推送接收率。
2.3 本課題的設計目標
模塊功能實現的目標:
1)班級圈:保證班級圈數據的正常顯示,非本班人員應該不具備查看該班信息權限的能力。采用廣播、接口回調及其其它方式完成數據的傳遞和更新。
2)即時通訊:保證音視頻通話的離線呼起,保證長連接的引用,保證用戶能正常收發消息。
3)社區:同班級圈。
4)發現:保證廣告的通暢性和可行性。
5)我的板塊:保證用戶信息的修改處理正常,做到信息不泄漏。
6)推送:保證推送成功率與正確率。
7)交互性良好:采用material design 風格設計,以及動畫效果的引用,使用戶和軟件具有更加青睞的交互體驗,并通過信息圈子推送,增加了用戶粘性。
8)代碼風格佳:在編碼過程中,嚴格要求分包邏輯,采用模塊化分包,并對代碼進行合理的封裝處理,使代碼更加模塊化,讓其他人能更易上手。
9)實用性:通過不斷的更新產品功能和接收用戶反饋,讓該產品更加地符合消費者思維。
2.4 架構概述
本系統采用C/S架構,分為客戶端和服務器端。
客戶端被分為了表現層、業務邏輯層和數據訪問層三個層面。
1.表現層:主要通過Android應用頁面來展示數據,以及一系列事件響應的UI控件。
2.業務邏輯層:主要用于業務邏輯的處理。通常由業務服務Service類和業務實體類Entity組成。
3.數據訪問層:本系統采用的數據庫是MySQL,采用XAMPP進行服務器搭建,采用PHP作為后臺數據接口編寫,用花生殼做域名解析,以達到Android客戶端與服務器之間的訪問。
3 需求分析
需求分析是“愛吖校推”應用分析的必要階段,下面分軟硬件需求、功能需求和用戶需求三方面做介紹,
3.1 軟硬件需求
本系統的軟硬件需求如下:
(1) 在Android平臺上運行,系統在4.0以上;
(2) 后臺數據庫:MySQL
(3) 開發環境:Java JDK1.7 ,Windows 10
(4)開發工具:Android Studio、Eclipse For PHP、XAMPP、
(5) 個人計算機:華碩飛行堡壘筆記本
3.2 功能需求
“愛吖校推”作為一款功能性軟件,其功能需求相當重要。以下為“愛吖校推”的功能需求:
1)發通知、發作業
發通知和發作業,是學校教師特有的功能,教師可以通過“愛吖校推”平臺進行通知和作業的發放,每當發一條信息,該班的所有人員便可以收到來自服務器的信息推送,提醒家長打開APP查看。每一條通知和作業家長都可以點贊和互評和回復。這樣讓家長和學校的關系更貼切,也增加了信息篩選機制,從而避免了QQ群、微信群等多余信息的影響。
2)傳視頻、傳照片
傳視頻是在社區和通知作業板塊均具備的功能,緊跟微視頻的時代步伐,教師可以把孩子在學校的精彩表演,錄制下來發到班群里,家長便可以看到。家長也可以把孩子在家里做的有意義的事情放到社區,讓同一個班級的家長朋友們借鑒。良好的圖文并茂社區化,不僅增進了家長和學校的交流,還增進了家長之間的聯系和友誼。
3)即時通訊
即時通訊板塊是一個整體的板塊,基本包含QQ微信的所有功能,依然可以發圖片、發消息、發語音、發定位、音視頻通話等。意在增加朋友之間的聯系和家長和學校教師的一對一交流和多對多交流。
4)發現板塊
發現板塊主要是輪播的一些優秀且有利于教師家長的APP功能板塊,并且會組織一些活動,邀請大家參加。
5)離線推送
離線推送在家校互動平臺軟件中是一個必備功能,也算是一個核心功能,有它才能保證用戶真正收到來自教師發放的信息,以及即時通訊過來的消息。同時音視頻通話等即時性要求較高的功能,也得依賴它。并且,推送信息到通知欄的方式向用戶傳遞信息,也是可以增加用戶粘性。
3.3 用戶需求
在“愛吖校推”應用的開發過程中,為了盡量滿足學校老師和家長用戶的要求。目前得到的需求有:
3.4 用例圖
3.4.1 登錄板塊
圖1 登錄模塊用例圖
3.4.2 班圈板塊
圖2 班圈模塊用例圖
3.4.3 消息板塊
圖3 消息模塊用例圖
3.4.4 發現板塊
圖4 發現模塊用例圖
3.4.5 我的板塊
圖5 我的模塊用例圖
3.5 用例說明
省略
4 概要設計
4.1 系統功能總體設計圖
4.1.1 Android端功能總體設計圖
圖6 Android端功能總體設計圖
4.1.2 服務器端功能總體設計圖
圖7 服務器端功能總體設計圖
4.2 數據庫E-R圖設計
圖8 數據庫設計E-R圖
4.3 系統類圖
4.3.1 APP端登錄板塊
圖9 APP端登錄類圖
4.3.2 APP端主頁板塊
圖10 APP端主頁類圖
4.3.3 APP端班圈板塊
圖11 APP端班圈類圖
4.3.4 APP端發布板塊
圖12 APP端發布類圖
4.3.5 APP端消息板塊
圖13 APP端消息類圖
4.3.6 APP端發現板塊
圖14 APP端發現類圖
4.3.7 APP端我的板塊
圖15 APP端我的板塊類圖
4.4 界面設計
圖16 圖片選取界面設計
圖17 登錄界面設計
圖18 手機號驗證界面設計
圖19 主界面設計
圖20 課程表界面設計
圖21 聯系人列表界面設計
圖22 聊天界面設計
圖23 音頻呼叫界面設計
圖24 發布信息界面設計
圖25 發布界面設計
圖26 我的板塊界面設計
圖27 按住拍界面設計
5 詳細設計
5.1 數據庫詳細設計文檔
本軟件的數據庫為MySQL數據庫,主要是搭建在XAMPP上結合PHP存在。主要分為以下幾個數據表:
省略
5.3 時序圖
5.3.1 登錄時序圖
該時序圖是實現用例UC1用戶的登錄。
1.用戶進入LoginActivity登錄界面后按照提示輸入賬號名(必須為正確的手機號)和密碼(不少于6位)。
2.先采用StringUtil工具類對輸入數據進行驗證,再把LoginPresenter把輸入的數據傳遞給網絡交互類AppService,讓其與服務器進行數據交互并返回給LoginPresenter,通過回調機制讓View層顯示相關信息,若是登錄成功則正確跳轉到應用主頁面,否則顯示相關錯誤信息。
圖28 登錄時序圖
5.3.2 發布時序圖
該時序圖是實現用例UC4發布信息。
1.用戶進入發布頁面,可以輸入相關話題信息,也可上傳附件(微視頻和圖片不共存)。
2.如果上傳附件,則調用壓縮相關的工具類進行附件壓縮,如果壓縮失敗,則顯示相關錯誤信息。
3.未輸入信息無法點擊發布,如果點擊發布按鈕,則讓ReleasPresenter處理相關邏輯,并把發布話題的信息傳遞給AppService類做網絡訪問處理,服務器返回相關信息,采用回調機制讓View顯示出相關信息。
4.如果發布成功,則返回到主頁面,并發送廣播提示主頁面進行數據刷新。
圖29 發布時序圖
5.3.3 圈子信息時序圖
該時序圖是實現用例UC6查看信息詳情。
1.用戶在主頁面可以看到話題相關信息(包括通知、作業、社區)。
2.如果點擊任何一條信息,則可以跳轉到詳情頁面,可以查看到相關點贊信息和評論信息。
3.點擊評論可以對該條話題信息進行評論,點擊評論人可對該用戶進行回復。
圖30 圈子信息時序圖
5.3.4 聊天時序圖
該時序圖是實現用例UC9聊天。
1.用戶可以從會話頁面或者聯系人頁面進入聊天頁面ChatActivity。
2.可以發送任何的文本消息,也可以點擊下方“加號”按鈕進行語音圖片視頻等文件的發送。
3.可以直接調用音視頻通話,向對方發起通話。
4.任何的與服務器交互邏輯均交給EMClient類進行處理。
5.被呼叫的用戶可以選擇拒絕音視頻通話并把相關信息返回給EMClient類。
6.監聽類收到EMClient返回的信息后處理相應回調,顯示相關信息。
圖31 聊天時序圖
6 系統實現
6.1 開發工具簡介
Android Studio :Android Studio 是Google推廣的一款全新的Android開發工具,采用全新的Gradle方式進行編譯,同時對原有的Eclipse開發的項目進行了支持。在2016年年底,Google宣布停止對Eclipse的支持與維護,徹底地宣布了Android Studio作為“Google親兒子”的地位。其強大的市場占有率成為了使用趨勢,我們不能墨守成規,需要向著新趨勢看齊。
XAMPP: XAMPP(Apache+MySQL+PHP+PERL)原來的名字叫 LAMPP,但最新的幾個版本被更名為XAMPP,主要是為了避免誤解。它作為一款建站集成軟件包,功能非常完善,其強大的兼容性更是征服了用戶,不僅提供了Windows、Mac等主流操作系統,更是對Linux、Solaris等其它操作系統做了支持。更完美的是,它還支持包含簡體中文、繁體中文、英文、韓文等多國語言包。但XAMPP最著名的還是它的便捷性,使用XAMPP只需要下載、解壓、啟動三個步驟就能讓Apache服務器運行在機器上,并且還支持讀取PHP文件以及集成了MySQL的使用。 Eclipse For PHP:這款軟件是Eclipse分支下專用于開發PHP的一款IDE,支持PHP5和PHP7,在這里,我們主要用它來開發后臺接口板塊。
6.2 開發界面總覽
6.2.1 Android開發界面總覽
圖32 Android 源碼分包預覽
圖33 Android 資源文件預覽
6.2.2 PHP開發界面總覽
圖34 PHP端代碼整體預覽
6.2.3 數據庫操作頁面總覽
圖35 數據庫操截圖
6.3 核心功能代碼
6.3.1 圖片壓縮處理
項目中的圖片壓縮來源于我GitHub已經開源的一個開源庫,目前項目已經得到超 700 Stars,主要采取BitmapFactory的內部類Options以及Bitmap下的createScaleBitmap方法對圖片進行質量壓縮和尺寸壓縮。
思路:
1)Bitmap是一個相當大的對象,特別容易導致OOM,所以我們在壓縮的時候并不能直接采用Bitmap,而采用BitmapFatory.Options。它有一個相當強大的屬性:inJustDecodeBounds,當這個屬性為true的時候,調用decode前綴的方法返回的就不是一個完整的Bitmap對象,而是null。因為它禁止這些方法為Bitmap分配內存,當設置這個屬性為true時,便會復制Options的三個屬性,它們分別是outWidth,outHeight和outMimeType。相當于不讀取這個圖片,卻獲取到了它的參數,的確很厲害。
2)另外一個不得不說的屬性就是inSampleSize了,可以理解為壓縮比率,設置好這個比率,就能調用decodeXXXX方法獲得縮略圖了,如果圖片大小都一致,則可以定死它。可問題是我們的圖片大小通常是不一致的,那我們壓縮的重中之重就是獲得這個正確的比率。因此,咱們完全能夠經過我們想要的長寬,通過多次循環比對,從而達到等比例壓縮。
3)然而, inSampleSize官方注釋告訴我們一個必須注意的點:因為inSampleSize只能是2的整數次冪,意味著如何我們通過循環算出來inSampleSize為6的話,這時候只能向下取得整數次冪,也就是4。這樣明顯是達不到我們想要求的標準的。
4)Bitmap的createScaleBitmap這個方法成功消除了我們的焦慮,我們可以借用這個方法把我們之前得到的較大的縮略圖進行二次縮小,直到完全符合我們的要求。
核心代碼為:
6.3.2 相機適配處理
圖片選取來自于我維護的一個開源庫ImagePicker,目前GitHub Star數超過1300+,主要通過從數據庫讀取所有圖片信息并返回到一個List中,該List將把所有圖片的path存儲在一起,然后把這些圖片放在RecyclerView中顯示,項目UI完全仿照微信做處理。為了解決Intent傳值限制,我在項目中采用單例加鎖的方式得以解決。
針對Android的適配上也是下了不少功夫,主要表現在Android 6.0 的動態權限處理,以及Android 7.0的相機打開限制,當然還有必不可少的MIUI系統坑和三星機器的圖片旋轉問題。
下面談下解決方案:
6.0動態權限處理:在Android 6.0 (API 23)開始,Android開始引入動態權限處理,即除了在之前的AndroidManifest.xml文件中申明權限,還需要在使用到權限的時候彈出用戶是否授權的框。只需要重寫onRequestPermissionsResult方法即可。示例代碼如下:
對于調用系統相機拍照后圖片旋轉:
經常會遇到一種情況,拍照的時候看到照片是正的,但是當APP獲取到這張圖片的時候,卻發現旋轉了90度(也有可能是180,270,不過90度比較多見,這應該是手機傳感器導致的)。為了解決這種不一定在所有機器上都出現的問題,我們可以引入Android系統提供的ExifInterface類來解決各個屬性的操作。ExifInterface可以不用加載圖片就獲取到圖片的長寬、旋轉角度等多種屬性,我們可以通過ExitInterface獲取圖片的旋轉角度degree來進行處理,當滿足degree不為0的時候,調用Matrix的postRotate進行角度旋轉,核心代碼為:
3)對于部分機型調起相機會回不去APP的適配處理(拍完照閃退問題):
這也是相機適配中必須處理的地方,由于Android系統廠商的ROM不一致,會讓一些ROM對自帶相機應用做優化,當某個APP通過Intent進入相機拍照界面時,系統會把這個APP最上層的Activity銷毀回收,只需要重寫onSaveInstanceState和onRestoreInstanceState方法對數據進行恢復和保存即可,核心代碼為:
4)Android 7.0調用系統相機的處理:
由于Android 7.0 手機開始推廣,所以我們也不得不處理7.0的權限問題。在Android 7.0 以后,file://不被允許作為一個附件的Uri的意圖,否則會拋出FileUriExposedException,在這樣的情況下,我們只需要用FileProvider即可解決。核心代碼如下:
7 軟件測試
基于Android等移動終端平臺的APP軟件測試與傳統的軟件測試不同,它不僅要求兼容性良好,而且要求響應時間要在一定的限制范圍。比如用戶的操作響應時間一般不能超過3-5秒,APP啟動時間也不能太長。而對于Android操作系統,龐大的第三方廠商定制,導致Android系統各有差異。一個APP軟件必須滿足不用的屏幕分辨率都能正常顯示,并且能夠正確的完成相應功能。如果在某個環境下,界面功能顯示不全,則會導致軟件功能無法正確使用,也就失去了安裝此軟件的意義,所以對其兼容性的要求也是很重要的一個方面。
7.1 功能模塊測試
功能模塊的測試是最基本的測試。我通過找出APP的測試點,然后采用兩款手機,小米3S(Android 5.0)和小米5S(Android 7.0)以及Windows抓包工具Fidder分別對“愛吖校推”的功能模塊和網絡接口進行完整測試,在測試過程出現了幾個小問題。
1)圖片選擇頁面出現選擇異常,而后得以解決,因為導包錯誤,導致指向了另外一個文件。
2)發布信息后沒有刷新頁面的Bug,后面采用廣播提醒UI刷新得以解決。
在解決完相關bug后,進行了新一輪的測試,下面是簡單的測試情況:
7.1.1 用戶登錄注冊模塊測試
該模塊測試主要是驗證用戶的注冊登錄是否能正常使用,任何不正確邏輯都應該給出相應的提示。在注冊時,手機號必須符合規范,密碼不得少于6位,否則提示輸入不規范。注冊時需要輸入兩次密碼,并且密碼相同,驗證碼輸入必須正確,否則提示相應錯誤。登錄板塊,第二次登錄應該自動登錄。
表30 用戶登錄注冊模塊測試
測試項目 測試方法 預期結果 結論
用戶注冊 在注冊界面輸入用戶名,密碼,其他信息(符合要求) 注冊成功 與預期結果一致
用戶注冊 在注冊界面不輸入內容或者輸入信息不符合要求 注冊失敗 與預期結果一致
用戶登錄 在登錄界面輸入用戶名,密碼,且用戶名和密碼匹配 登錄成功 與預期結果一致
用戶登錄 在登錄界面不輸入內容或者輸入信息不正確 登錄失敗 與預期結果一致
用戶登錄 沒有退出當前賬號,第二次進入該系統 自動登錄成功 與預期結果一致
7.1.2 信息發布模塊測試
該模塊測試主要是驗證能否正常發布信息和上傳圖片及微視頻,當沒有輸入信息時候應當不能點擊發送按鈕。附件上傳前要注意壓縮,并且上傳后應該在班圈信息中得到正常顯示,中間有任何出錯需要提示相應錯誤。而且在6.0以上系統的手機應該動態申請權限。在發布通知或者作業頁面,應當發起推送到該班級圈子下的家長手機中。
表31 信息發布模塊測試
測試項目 測試方法 預期結果 結論
信息發布 不輸入任何文字點擊發布 發布按鈕不能點擊 與預期結果一致
信息發布 輸入信息點擊發布 發布成功,班圈顯示刷新顯示本條內容 與預期結果一致
信息發布 點擊圖片上傳,進入圖片選擇頁面,選擇后點擊確定返回 選擇圖片后在信息發布頁面能顯示正常的圖片信息,并且首次使用該功能應該彈出申請權限的對話框 與預期結果一致
信息發布 點擊微視頻上傳,進入微視頻錄制頁面,點擊上傳后返回 信息發布頁面正常顯示該條微視頻的縮略圖,點擊縮略圖能正常播放視頻,首次使用該功能應該彈出動態申請權限的對話框 與預期結果一致
信息發布 發布信息,查看Fidder抓包情況 Fidder抓包信息應當顯示和接口預期一致 與預期結果一致
信息發布 發布班級通知或者作業的時候,查看Fidder抓包情況和該班級圈子的家長用戶手機情況 Fidder抓包信息應該和接口預期一致,并且該班級圈下的家長應該收到信息推送 與預期結果一致
7.1.3 信息交流模塊測試
該模塊測試主要是測試信息能否正常地點贊評論回復,在該功能中,如果本用戶之前未點贊(灰色),應當把點贊按鈕置為點贊狀態(紅色),點贊數+1。點擊班圈某條信息,可以正常進入到該信息的詳情頁面,并可以評論,返回后正常顯示相關信息。
表32 信息交流模塊測試
信息交流 測試方法 預期結果 結論
信息交流 點擊班圈的某條信息 應該能正常進入詳情頁面 與預期結果一致
信息交流 點擊點贊按鈕 在未點贊的時候應該為灰色,點贊后應該為紅色,可以取消點贊,相應數目應該變化 與預期結果一致
信息交流 點擊評論按鈕 進入信息詳情頁面,并且彈出鍵盤 與預期結果一致
信息交流 點擊評論的人 應該直接開始彈出軟鍵盤,并且置為回復該用戶的狀態 與預期結果一致
信息交流 點擊返回 如果該條信息詳情有所更新,應當提醒班級圈正常顯示點贊情況和評論數目情況 與預期結果一致
7.1.4 即時通訊模塊測試
即時通訊模塊測試主要是測試添加好友,音視頻通話,聊天,發送附件,好友列表等能否正常顯示,以及APP置于后臺能否正常收到離線推送的即時通訊消息。
表33 即時通訊模塊測試
即時通訊 測試方法 預期結果 結論
即時通訊 點擊消息Tab 能查看到最近聯系人 與預期結果一致
即時通訊 點擊聯系人Tab 能正常顯示聯系人相關信息 與預期結果一致
即時通訊 點擊某條會話或者聯系人 能正常進入聊天頁面,并能正常顯示信息和聊天 與預期結果一致
即時通訊 點擊音視頻通話 進入音視頻通話頁面,被呼叫用戶應當能正常收到此信息,并可選擇掛斷,發起者可以收到用戶B接受或者拒絕的反饋,若是接受,應當正常進行音視頻聊天 與預期結果一致
即時通訊 用戶B應用置于后臺,用戶A給用戶B發送文本消息 用戶B手機能收到信息推送 與預期結果一致
即時通訊 用戶B應用置于后臺,用戶A向用戶B發起音視頻呼叫 用戶B應當直接呼起音視頻通話頁面,并能選擇接受或者拒絕 與預期結果一致
7.3 性能測試
性能測試需要驗證APP在各種外界壓力下是否能正確響應;在執行單一操作時候的響應時間;重復操作一功能,系統資源占用情況;我們在項目中采用了LeakCanary開源框架,并把它移植到項目中檢查內存泄漏情況。并且使用Android內存泄漏分析工具(MemoryAnalyzer)檢測內存使用情況,最終通過分析優化了下面兩個方面:
1)圖片壓縮不要將整個圖片以Bitmap讀入內存,防止OOM的發生,替換為ExitInterface類獲取圖片信息,并采用BitmapFatory的decodeXXX方法以及Bitmap的createScaleBitmap進行尺寸壓縮,最后再進行質量壓縮得以解決。
2)項目中有些地方采用了static靜態對象,持有Context等導致內存久久不能釋放,后面替換了ApplicationContext得以解決。
3)測試過程中發現啟動白屏現象較為嚴重,所以增加閃屏頁得以緩解。
7.4 安全測試
隨著移動互聯網的飛速發展,而作為產業模式下的移動平臺,自然備受關注,依托此平臺的APP的安全性進而成為人們的焦點。所以我對軟件權限等進行了細致檢查,得到以下結果:
1)沒有任何的泄密權限或者非法訪問情況;
2)沒有出現任何的自啟動,沒有捆綁其他任何軟件;
3)數據加密均正常,不存在泄密危險。
7.5 交叉事件測試
交叉事件測試,又叫事件或者沖突測試。意思是當APP在運行中,與此同時被另外的事件干擾,比如接入電話,查看短信后是否會導致APP崩潰或者數據丟失等異常。如果執行干擾的沖突事件后,應用APP依然能正常運行,不會出現崩潰、終端死機或者丟失數據等問題,則視為我們的交叉事件測試通過。
在交叉事件測試中,我著重檢查了幾個方面:
APP運行時,前臺后切換或者橫豎屏切換出現了數據的丟失,經過修改后得以解決;
APP運行時,能正常接收電話和短信;
運行“愛吖校推”,并不會影響其他功能的使用,依然能正常的查看QQ消息、微信消息等。
7.6 兼容性測試
在Android眾多的第三方定制系統的大背景下,各種各樣奇葩的兼容性問題一定存在,雖然在我們開發中采用的測試真機是公認最容易出問題的MIUI手機,但依然不能以偏概全,在兼容性測試階段,我采用騰訊云真機租用做了基本所有定制系統的兼容性測試。在兼容性測試中,我著重處理了:
Android 7.0 后不能直接通過Uri調用系統相機,檢查出問題后,采用了文件FileProvider得以解決。
在三星手機的測試中,出現了拍照后旋轉問題,最后在代碼中通過ExitInterface等操作解決了這個問題。
8 結論
本次畢業設計針對越來越被看好的“互聯網+”教育,著眼于促進教育現代化發展,加強學校與家長的溝通交流。設計過程中采用較多的Design美學理念和動畫效果,增加用戶粘性。提供推送服務,極大的滿足了用戶不丟失重要班級信息。社區化的設計,幫助用戶群體更好的交流。
由于各方面的原因和經驗匱乏等問題,本應用的一些細節處理還不那么完美,但我依然會完善下去。開發這款應用,讓我學到很多,比如很多當前Android火熱的框架,Retrofit、Rx、即時通訊、推送以及圖片壓縮等,尤其是后臺板塊的學習,PHP作為當前比較熱門的語言,我直接從零學習到一步一步搭建起自己的后臺,收獲巨大。
9 謝辭
省略
參考文獻
[1] 明日科技.Android從入門到精通[M].北京:清華大學出版社,2012.9
[2] 郭霖.第二行代碼[M].北京:清華大學出版社,2016.11
[3] 李剛.瘋狂Android講義(第3版)[M].北京:電子工業出版社,2015.
[4] 郭金尚.Android經典項目案例開發實戰寶典[M].北京:清華大學出版社,2013.9
[5] 劉金橋. 基于web的貝佳寵物醫院管理系統設計與實現 2015-06-03
[6] 許瑾.第一次開發Android程序的歷程[J]. 科技資訊,2014.29.20
[7] 丁麗萍.Android操作系統的安全性分析[J].信息網絡安全,2012.3:58-60
[8] 王珊.數據庫系統概論.北京:電子工業出版社,2015
[9] (美)贊德斯徹.深入PHP:面向對象、模式與實踐(第3版)[M].機械工業出版社,2009.4
[10] 楊宇.PHP典型模塊與項目實戰大全[M].清華大學出版社,2012.1
[11] (美)林恩.貝伊利,邁克爾·莫里森著蘇金國,徐陽譯O’Reilly:HeadFirst PHP & MySQL(中文版)中國電力出版社2010 386
[12] 馬千里. 基于安卓手機的“視界”應用程序的設計和實現2016-05-31
5、資源下載
本項目源碼及完整論文如下,有需要的朋友可以點擊進行下載。如果鏈接失效可點擊下方卡片掃碼自助下載。
| 本項目源碼 | 基于Android+XAMPP+MySQL的家校互動平臺設計與實現(源碼+文檔)_Android_CS架構_家校互動平臺.zip |
6、更多android畢業設計項目
精選android畢業設計10套——源碼+論文完整資源
總結
以上是生活随笔為你收集整理的android毕业设计——基于Android+XAMPP+MySQL的家校互动平台设计与实现(毕业论文+程序源码)——家校互动平台的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Testz
- 下一篇: SQLZOO刷题记录5——SUM and