畢業(yè)設(shè)計(jì)So Easy:珠穆朗瑪FM音頻電臺APP
很多計(jì)算機(jī)專業(yè)大學(xué)生經(jīng)常和我交流:畢業(yè)設(shè)計(jì)沒思路、不會做、論文不會寫、太難了......
針對這些問題,決定分享一些軟、硬件項(xiàng)目的設(shè)計(jì)思路和實(shí)施方法,希望可以幫助大家,也祝愿各位學(xué)子,順利畢業(yè)!
項(xiàng)目專欄:https://blog.csdn.net/m0_38106923/category_11085518.html
APP體驗(yàn)安裝包下載:https://download.csdn.net/download/m0_38106923/19322068
1
項(xiàng)目背景
在移動互聯(lián)網(wǎng)迅猛發(fā)展的大背景下,音頻作為伴隨性媒體能夠最大化地利用用戶的日常碎片化時(shí)間,較其他聽書APP和傳統(tǒng)電臺,喜馬拉雅FM能夠脫穎而出,正是因?yàn)樗珳?zhǔn)的目標(biāo)用戶定位,做好目標(biāo)受眾細(xì)分,創(chuàng)新節(jié)目內(nèi)容,優(yōu)化節(jié)目形式,滿足消費(fèi)者的需求,并利用網(wǎng)絡(luò)營銷,保存現(xiàn)有優(yōu)勢,快速搶占市場份額。
2
系統(tǒng)介紹
2.1、系統(tǒng)概述
珠穆朗瑪FM是一款仿照喜馬拉雅(音頻分享平臺)APP所開發(fā)的音頻分享電臺APP,該應(yīng)用充分實(shí)現(xiàn)喜馬拉雅APP的諸多重要功能,如在線專輯展示、電臺展示及播放、音頻下載、音頻錄制、音頻分享等功能,通過對以上多種功能的設(shè)計(jì)對互聯(lián)網(wǎng)中音頻的分享與聲音服務(wù)有了更深層的認(rèn)識。
2.2、關(guān)鍵技術(shù)
本項(xiàng)目采用retrofit+rxjava2+rxandroid+arouter+mvvm+fragmentation實(shí)現(xiàn)單activity多fragme組件化架構(gòu)。
Retrofit:Retrofit是現(xiàn)下Android端開發(fā)非常流行的一款網(wǎng)絡(luò)請求框架,它通過動態(tài)代理的方式將Java接口翻譯成網(wǎng)絡(luò)請求,通過OkHttp發(fā)送請求,并且其具備強(qiáng)大的可擴(kuò)展性,支持各種數(shù)據(jù)格式的轉(zhuǎn)換以及RxJava。
Rxjava2:一個(gè)在Java VM 上使用可觀測的序列來組成異步的,基于事件的程序的庫。
Rxandroid:是RxJava針對Android平臺的一個(gè)擴(kuò)展,用于Android開發(fā)提供響應(yīng)式擴(kuò)展組件快速、易于開發(fā)Android應(yīng)用程序。
Arouter:ARouter是阿里開源的一款android路由框架。通過路由進(jìn)行界面跳轉(zhuǎn),區(qū)別于 Intent的顯隱式跳轉(zhuǎn)。在模塊化的項(xiàng)目中,友好的解決了因模塊互相依賴沖突,而界面互相跳轉(zhuǎn)不了的問題,使用ARouter進(jìn)行跳轉(zhuǎn),兩個(gè) library互相不依賴,也可以相互跳轉(zhuǎn)。
Mvvm:MVVM是Model-View-ViewModel的簡寫。它本質(zhì)上就是MVC 的改進(jìn)版。MVVM 就是將其中的View 的狀態(tài)和行為抽象化,讓我們將視圖 UI 和業(yè)務(wù)邏輯分開。它可以取出 Model 的數(shù)據(jù)同時(shí)幫忙處理 View 中由于需要展示內(nèi)容而涉及的業(yè)務(wù)邏輯。
Fragmentation:Fragmentation非常適合一個(gè)Activity管理多個(gè)fragment。
組件化:組件化是指解耦復(fù)雜系統(tǒng)時(shí)將多個(gè)功能模塊拆分、重組的過程,有多種屬性、狀態(tài)反映其內(nèi)部特性。
2.3、環(huán)境配置
開發(fā)環(huán)境:Windows 10及以上,Android studio 4.1.2
運(yùn)行環(huán)境:Android 8.0 及以上,JDK 1.8,SDK 21及以上
網(wǎng)絡(luò)環(huán)境:Internet ,Wi-Fi
3
系統(tǒng)結(jié)構(gòu)設(shè)計(jì)
3.1、播放器狀態(tài)結(jié)構(gòu)圖
3.2、登錄流程結(jié)構(gòu)圖
4
系統(tǒng)模塊設(shè)計(jì)
此APP共分為5個(gè)模塊:“我的”模塊、首頁模塊、歷史記錄模塊、播放模塊、發(fā)現(xiàn)模塊。
“我的”模塊:負(fù)責(zé)APP的登錄注冊、登錄登出及分享操作;
首頁模塊:分類展示、音頻搜索、音頻展示;
歷史記錄模塊:訂閱內(nèi)容與推薦訂閱、已下載、播放歷史、已購買的音頻、喜歡的音頻;
播放模塊:熱門播放的內(nèi)容展示、專輯展示;
發(fā)現(xiàn)模塊:付費(fèi)內(nèi)容、全面朗讀、活動、商城等待開發(fā)。
5
系統(tǒng)總體架構(gòu)

6
接口描述
喜馬拉雅開放平臺標(biāo)準(zhǔn)授權(quán)登錄流程采用OAuth2標(biāo)準(zhǔn)授權(quán)碼(authorization code)模式。授權(quán)碼模式(authorization code)是功能最完整、流程最嚴(yán)密的授權(quán)模式。它的特點(diǎn)就是通過第三方客戶端的后臺服務(wù)器,與我們的oauth2認(rèn)證服務(wù)器進(jìn)行互動??傮w來說先進(jìn)行用戶登錄,再進(jìn)行用戶授權(quán)。
注意:這種授權(quán)模式不會存儲任何私鑰在客戶端(或?yàn)g覽器端)。
這種授權(quán)模式的流程示意圖如下所示:
往期推薦
