完整項目學(xué)習(xí)(原創(chuàng)自鴻洋公眾號)

原創(chuàng) 2017-11-13 鴻洋 鴻洋

僅作學(xué)習(xí)資料收集,請勿轉(zhuǎn)載,如有需要請關(guān)注原作者公眾號。

后臺經(jīng)常有人問我能不能推薦幾個完整項目用于學(xué)習(xí)。借著周末的機會,給大家推薦幾個,項目我基本都在本地運行過,并且會在

文章末尾提供每個項目的apk

用于大家下載預(yù)覽,如果你覺得不錯可以再學(xué)習(xí)源碼,這樣避免了大家還需要導(dǎo)入、運行后選擇,可以節(jié)省一定大家的時間。

此外,由于完整項目類很難在github上搜索,特意在wanandroid.com上開設(shè)了一個分類用于存儲完整的開源項目方便大家查找(最近工作太忙,wanandroid開發(fā)進(jìn)度比較慢~~)。

http://www.wanandroid.com/article/list/0?cid=254

下面開始推薦的項目吧~

1 diycode客戶端

image

Diycode 社區(qū)客戶端,相信很多人應(yīng)該都知道這個社區(qū),偶爾會有一些質(zhì)量很高文章、討論等。

他們不但開源了客戶端,而且提供了一套SDK,如果你想要自己動手開發(fā)一個練手項目,是個不錯的選擇。

此外,為了便于理解項目源碼,他們在ReadMe中提供了幾篇技術(shù)文章:

  • 01 - 整體架構(gòu)

  • 02 - 緩存 WebView 中的圖片

  • 03 - 點擊網(wǎng)頁圖片查看大圖

  • 04 - API 的封裝哲學(xué)

  • 05 - 使用抽象類節(jié)省 1000 行代碼

這些文章不僅能夠方便大家理解,也可以用來積累知識~

2 咕咚翻譯app

微信圖片_20171113115158.gif

微信圖片_20171113115216.jpg

一個實現(xiàn)『劃詞翻譯』功能的 Android 應(yīng)用 ,可能是目前 Android 市場上翻譯效率最高的一款應(yīng)用。

如果你經(jīng)常在手機上閱讀文章,偶爾遇到一些英文單詞需要翻譯,你只要在當(dāng)前頁面“劃詞”即可實現(xiàn)翻譯,該app非常實用,當(dāng)然里面也包含一些技術(shù)值得你花時間去學(xué)習(xí):

1、全程使用 Dagger2 對項目進(jìn)行類依賴管理

2、項目使用標(biāo)準(zhǔn)的 MVP 架構(gòu),關(guān)于 MVP 的一篇博客

3、實現(xiàn)對粘貼板的監(jiān)聽以及訪問

4、無需權(quán)限顯示懸浮窗(6.0懸浮窗權(quán)限適配)

5、使用 RxJava 探索函數(shù)式編程

6、使用 Retrofit2 進(jìn)行網(wǎng)絡(luò)請求

7、開機自啟動

8、Android 6.0 自定義文本操作欄

https://github.com/maoruibin/TranslateApp

3 開眼視頻學(xué)習(xí)項目

開眼.jpg

做的非常精致,界面非常優(yōu)雅,功能也處于相對完畢的狀態(tài)。最重要的是是使用kotlin編寫的,如果你正在或者想要學(xué)習(xí)kotlin,通過項目去學(xué)習(xí)要比通過文字來學(xué)習(xí)快得多。

同時在Readme頁面,作者也對kotlin的特性有一些初步的介紹。如果你現(xiàn)在時間較為充足,不妨學(xué)習(xí)下kotlin~

程序僅供學(xué)習(xí)交流, 不可用于任何商業(yè)用途
https://github.com/LRH1993/Eyepetizer-in-Kotlin

4 仿今日頭條學(xué)習(xí)項目

image

你可以認(rèn)為這是一個遵循Material Design風(fēng)格的第三方的頭條客戶端,功能已經(jīng)相當(dāng)完備,

, 聚合了新聞/段子/圖片/視頻/頭條號內(nèi)容, 沒有廣告, 僅僅只有存粹的閱讀, 不斷完善中, 采用 MVP + RxJava + Retrofit 架構(gòu)的項目~

包含技術(shù):

  • 基本遵循 Material Design 設(shè)計風(fēng)格

  • 抓包獲取今日頭條API

  • 使用 Google 官方 MVP 架構(gòu)

  • DrawerLayout + NavigationView + BottomNavigationView 搭配使用

  • RxBus 代替 EventBus 進(jìn)行組件之間通訊

  • ViewPager 搭配 Fragment 懶加載

  • SwipeRefreshLayout 搭配 RecyclerView 下拉刷新上拉加載

  • 自定義 BottomNavigationBehavior 實現(xiàn)上滑隱藏下滑顯示

  • RxJava + Retrofit2 + OkHttp3 做網(wǎng)絡(luò)請求

  • OkHttp3 對網(wǎng)絡(luò)返回內(nèi)容做緩存, 還有日志、超時重連、頭部消息的配置

  • V層基類的構(gòu)建, 包括 BaseActivity 和 BaseFragment , 對外提供了相同的接口

  • 使用原生的夜間模式

  • 解決側(cè)滑返回與 View 沖突問題

  • 內(nèi)置 3 款 Logo, 隨意切換

  • 使用 CoordinatorLayout 、 AppBarLayout 、 CollapsingToolbarLayout 、 BottomSheetDialog 等等新控件

  • 使用 7.0 新工具 DiffUtil , 不再無腦 notifyDataSetChanged

  • 使用 ItemTouchHelper 實現(xiàn)今日頭條的頻道排序、頻道移動, 參考 ItemTouchHelperDemo

  • 使用 RxBinding 優(yōu)雅實現(xiàn)搜索請求

  • 使用 RxLifecycle 綁定 RxJava 生命周期

  • 使用 Travis Cl 持續(xù)集成

更加重要的是,作者雙11還在更新代碼,是個相當(dāng)不錯的學(xué)習(xí)項目~~

程序僅供學(xué)習(xí)交流, 不可用于任何商業(yè)用途
https://github.com/iMeiji/Toutiao

5 仿斗魚學(xué)習(xí)項目

image

高仿程度令人咋舌~光是UI和一些特效都夠?qū)W習(xí)相當(dāng)一段時間了。

涉及到的一些第三方如下:

  • 彈幕三方庫:DanMu

  • 輪播圖:BGABanner

  • 刷新加載控件XRefreshView

  • 導(dǎo)航欄控件 FlyCoTabLayout

  • 彈幕與房間加密參考項目:斗魚項目

  • 直播視頻播放器 :vitamio播放器 (備注:直播視頻格式:HLS,RTMP)

程序僅供學(xué)習(xí)交流, 不可用于任何商業(yè)用途
https://github.com/TeamCodeForGit/DouYu

好了,以上項目我都在本地導(dǎo)入運行過,為了節(jié)省大家的時間,如果你希望看到實際的運行效果后然后再選擇其中一個進(jìn)行學(xué)習(xí),可以在公眾號內(nèi)回復(fù)1113,為大家準(zhǔn)備了這幾個apk下載。

想必會有朋友會遇到導(dǎo)入不成功的問題,如遇問題盡可能將gradle相關(guān)配置修改為自己常用的版本,然后根據(jù)提示解決

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容