[HMLY]5.模仿喜馬拉雅 FM

項目介紹:

文:HansRove(github)


XiMaLaYa-by-HansRove-
仿作喜馬拉雅, 對AVFoundation框架的一次嘗試
 
軟件環境: iOS9.1 硬件環境: Mac OS X 10.11 開發工具: Xcode7.1

項目描述:
模板是「喜馬拉雅FM」,由於很喜歡這個軟件的風格和內容,當時這款軟件參雜着太多的廣告以及推廣。因此打算經過抓包,並Json解析出數據,進而使用本身搭建的界面完成視聽播放功能, UI也算是高仿「喜馬拉雅FM」.但部份內容在原來基礎上作了相應的修改。
 
功能概述:
0、音頻播放:這是最基礎的模塊,提供用戶收聽各種聲音、專輯及電臺主播。
一、發現聽:實時動態的信息展現頁,天天的音頻熱門信息和音頻專輯集數的更新;展現給用戶聲音分類和電臺及網絡主播相應的推薦頁供用戶選擇交互。
二、定製聽:記錄用戶關注的聲音(專輯)、主播和電臺以及收聽歷史,並推薦近幾天熱門聲音。
三、下載聽:記錄用戶下載記錄並對用戶下載過的聲音進行分類展現。
四、搜索功能:根據熱詞提供展現,用戶能夠搜索主播、電臺、聲音或專輯。
 
 
項目所用技術及框架:【純代碼+故事板】項目使用MVVM模式搭建
一、二次封裝AFNetworking與MJExtension進行數據請求與解析;
二、使用Masonry實現純代碼佈局,使用MJRefresh實現下拉刷新上拉加載;
三、大量使用自定義Cell、自定義Button、自定義View來實現多控件封裝方便佈局使用;
四、使用AVFundation實如今線音頻播放。並自定義播放器外觀以及進度條配置;
 
 
項目收穫:
一、對MVVM模式的使用更加熟練,設計模式的瞭解及掌握爲將來開發少走了許多彎路;
二、熟悉JSON數據解析,對數據處理有必定的瞭解,特別是掌握了MJExtension框架的原理及寫法;
三、通知中心及單例模式的使用,減低了代碼的耦合性;
四、純代碼跳轉Storyboard或者Xib使用更加熟練;封裝了好多自定義視圖,方便佈局。
 
項目結構
 

項目結構中pod已經在1~4篇解析。git

相關文章
相關標籤/搜索