1. 程式人生 > >SmartRecom:一款乾貨滿滿,助你進階的 App 專案

SmartRecom:一款乾貨滿滿,助你進階的 App 專案

前言

SmartRecom 是一款基於行為設別和個性化推薦的電影與音樂播放器。咋一聽很高大上,哈哈,不過行為識別和個性化推薦的功能目前還不完善,暫時忽略。 本著學習 Android 技術的目的,SmartRecom 使用了多款流行開源框架,以及Android 中一些重要的技術點。在做 SmartRecom 的過程中,抱著邊做邊學的態度,每遇到一個問題,就進行實際解決並以寫作技術文章的形式來幫助自己加深對這些技術的理解。現在分享出來,下文中每一個連結都對應一個實際技術的解決,可以幫助理解 SmartRecom,也可以幫助一些新人如何開始做一款自己的 App。

Github地址:

https://github.com/LRH1993/SmartRecom

PS :有興趣的加入Android工程師交流QQ群:752016839 主要針對Android開發人員提升自己,突破瓶頸,相信你來學習,會有提升和收穫。

螢幕截圖

2  技能學習

通過學習該專案,可以獲得以下技能:

  • MVP模式

  • RxJava及Retrofit使用

  • Retrofit專案封裝

  • EventBus使用

  • Glide使用

  • 沉浸式狀態列實現

  • Toobar+DrawerLayout+NavigationView使用

  • banner輪播圖的使用

  • RecyclerView複雜佈局結構實現

  • recyclerview-animators動畫效果實現與原理

  • ViewPager+TabLayout+Fragment懶載入機制

  • FlexboxLayout——實現靈活多變的瀑布流

  • Android拍照、照片選擇以及圖片裁剪完全解析

  • AsyncTask的使用

  • Android高斯模糊效果實現

  • MediaPlayer使用

  • Service使用

  • 最全的百度音樂API解析

開源清單

專案中用到的一些流行開源框架:

RxJava+Retrofit實現網路載入與非同步請求操作

EventBus實現元件間的通訊

Glide,圖片載入框架

butterknife讓你告別findViewById

IRecyclerView支援下拉重新整理,載入更多

banner,好用的圖片輪播控制元件

recyclerview-animators,為item新增炫酷的動畫效果

SuperTextView,讓你的TextView不再單調

RatingBar,一款好的評分控制元件

4 SmartRecom 功能介紹

1.簡介

SmartRecom 是一款基於行為識別和個性化推薦的音樂和電影播放器。

行為識別: 通過對使用者當前行為狀態的監聽,識別使用者的當前狀態,從而智慧的為使用者推薦音樂或電影。

個性化推薦: 通過使用者對電影或音樂的瀏覽或評分行為,基於Slop One等個性化推薦演算法為使用者實時而精確地推薦合適的內容。

2.功能

音樂播放器

為你提供各種好聽的音樂。目前音樂介面來自百度音樂,如侵立刪。

電影播放器

為你提供各種線上播放的好看電影。目前電影都是歐美電影,年代較為久遠,後期考慮替換,電影播放是跳轉到 web 頁面,後期會改進,通過第三方應用進行播放。

個性化推薦

先使用行為識別監聽當前狀態,目前可以監聽 2 種狀態:跑步,躺下。

當處於跑步狀態,使用個性化推薦產生一個音樂列表,推薦使用者聽音樂。

當處於躺下狀態,使用個性化推薦產生一個電影列表,推薦使用者看電影。

該功能還在完善,很快就會實現。目前僅在登入狀態後,檢測使用者的當前狀態。

5 存在的問題

由於專案還在進行中,目前還有一些功能未實現,以及一些小的 bug,後續會逐漸完善。

目前使用者資訊上傳有些問題,個性化推薦(猜你喜歡)還未實現,音樂本地播放以及一些具體功能後續完善。

6 期待

未來以上功能將會愈趨完善,敬請期待。

由於很多功能還在摸索實現,可能會有 Bug 出現。如若這種情況,歡迎通過“關於”中“聯絡作者”中提供的幾種方式進行反饋。