快速開發android,離不開這10個優秀的開源專案

愛編碼的coder發表於2019-01-19

作為一名菜雞Android,時常瞻仰大佬們的開源專案是非常必要的。這裡我為大家收集整理了10個優秀的開源專案,方便我們日常開發中學習!

作者:ListenToCode 部落格:www.jianshu.com/p/9742ce36b…

KnowWeather

GitHub地址 github.com/SilenceDut/…

一款 Android 開源天氣 App ,包含天氣資訊、詳情、生活指數等,通知欄,桌面小部件,定時更新天氣等等,應用沒有任何廣告,支援縣級、區級城市的天氣,原文:www.diycode.cc/projects/Si…

image

  • 整體框架 根據實際專案淺談Android專案中的框架搭建

    silencedut.github.io/2016/12/05/…

  • 關於 知天氣——天氣盡在掌握之中

    silencedut.github.io/2016/12/06/…

  • 特點 支援縣級、區級天氣 JobScheduler與JobService的使用 輪詢系統定時更新天氣 實現很多定製化很大的,對後臺任務嚴苛的系統中(如魅族系統)通知欄常駐,並且輪詢系統正常執行,很多下載量千萬級的天氣應用無法達到此效果 無廣告和強制保活拉活的行為

FolioReader-Android

GitHub地址 github.com/FolioReader…

一個 Android 開源電子書(ePub)閱讀 App ,

原文:

www.diycode.cc/projects/Fo…

效果圖

image

Gradle

Add following dependency to your app build.gradle

compile 'com.folioreader:folioreader:0.2.3'
複製程式碼

NBAPlus

GitHub地址 github.com/SilenceDut/…

一個 Android 開源 NBA 資訊和賽事資訊的平臺 App

效果圖

image

image

特點

  • 遵循Android開發最佳實踐的一種具體實踐

  • Retrofit2.0+RxJava+EventBus+GreenDao的使用

  • 程式碼結構清晰,擴充套件性強,易複用到其他專案

  • 結合NBAPlus Server 學習後臺開發知識和介面的設計

  • 動態Blur效果。

關於

NBA資訊和賽事資訊的平臺。 全面、方便、快捷的獲取新聞動態、比賽資料。 無廣告、推送資訊,不後臺常駐,空間佔用小。web後臺部分在這:

NBAPlus Server

github.com/SilenceDut/…

MyDiary

GitHub地址 github.com/DaxiaK/MyDi…

動漫《你的名字》同款 Android 開源 App,原文:

www.diycode.cc/projects/er…

效果圖

image

image

簡詩

GitHub地址 github.com/wingjay/jia…

一款優雅的中國風記錄 app,包括 Android 端和 Server 端,原文:www.diycode.cc/projects/wi…

image

image

相關部落格

如何在一天之內完成一款具備cool屬性的Android產品_簡書

www.jianshu.com/p/cf496fc40…

banya

GitHub地址github.com/forezp/bany…

一個基於豆瓣 API 仿網易雲音樂的開源專案。原文:www.diycode.cc/projects/fo…

專案介紹:

  • 整體採用material design 風格,本人是網易雲音樂的粉絲,所以介面模仿了網頁雲音樂,另外,專案中儘量使用了5.0之後的新控制元件。

  • 專案整體採用mvp+rxjava+retrofit 框架,使用glide進行圖片展示,用butterknif註解,另外使用了java 8 新特性,拉姆達表示式,安卓原生並不支援,需要導外掛,具體見專案。

  • 並對retrofit的okhttpClient進行了快取配置,很遺憾,豆瓣API在服務端並沒有對返回資料進行Cache-Control 設定。

  • 後續會採用本地資料庫對資料進行快取,初步定為使用realm。

  • 專案地址:github.com/forezp/bany…

  • 主介面採用material design 設計風格,使用了NavigationView和DrawerLayout的抽屜效果,CoordinatorLayout和viewpager 配合,使用behavior屬性,對toolbar的顯示和隱藏進行了控制。使用了tablayout和viewpager配合,切換fragment,整體風格類似於網易雲音樂。

  • 用到的豆瓣API有熱映榜、top250、搜尋圖書、搜尋音樂,等。

image

image

image

yasea

GitHub地址 github.com/begeekmyfri…

帶美顏濾鏡的 Android 直播推流開源客戶端專案,通過手機攝像頭和麥克風取樣,編碼為H.264和AAC,再封裝FLV格式,推送至RTMP伺服器。延遲達到毫秒級別。

image

Coding-Android

GitHub地址 github.com/Coding/Codi…

編譯環境 Android Studio 2.2.3,用gradle引用的許多第三方庫,第一次載入會有點慢,載入完畢後要build一下,這些待下劃線的類(比如 MainActivity_)會在build之後自動生成。

包說明

  • common 基類和工具類

  • comment 評論區

  • enter 輸入框

  • network 對網路做了一點封裝

  • photopick 圖片多選控制元件

  • umeng 封裝了umeng

  • hide 進入staging介面

  • maopao 冒泡介面

  • message 訊息介面

  • model 一些資料結構

  • project 我的專案介面

  • setting 設定介面

  • task 我的任務介面

  • third 一些第三方程式碼

  • user 好友介面

Sprayscape

GitHub地址 github.com/googlecreat…

原文https://www.diycode.cc/projects/googlecreativelab/Sprayscape Sprayscape內建於Unity,支援原生Android。使用適用於Unity的Google VR SDK處理陀螺儀資料和使用NatCam Unity外掛進行精確的相機控制,Sprayscape將相機輸入對映到360度球體上。 GPU使一切成為可能。在使用者點選或觸控時,相機進給以每秒60幀的紋理渲染。然後,通過GPU上的片段著色器將該紋理與任何現有紋理合成。同樣的著色器還處理從2D相機到360球體的投影,建立您在app中看到的景觀。 當使用者儲存景觀時,平面全景影象儲存在應用資料中並寫入包含所有景觀的單個圖集檔案。地圖集被載入到景觀中,帶有陀螺儀導航的景觀畫廊。 共享由原生Android程式碼處理。當使用者通過連結共享景觀時,使用者將使用Google OAuth登入並提示您在雲端硬碟上進行讀寫訪問。所有使用者生成的內容都儲存在使用者的雲端硬碟帳戶中,因此使用者可以隨時刪除其內容。有了適當的許可權,Drive API v3會檢查Sprayscape資料夾,如果缺少,則建立一個,然後上傳檔案。共享URL在“本機共享”對話方塊中呈現給使用者,並且還附加到應用程式上的scape物件,以便日後輕鬆共享。 Facebook的份額也是本地處理的。全景圖被準備為具有適當EXIF資料的影象物件,以確保在Facebook上正確呈現,然後通過原生共享呈現給使用者。使用者選擇Facebook分享到他們的網路。

ListenerrMusicPlayer

GitHub地址 github.com/hefuyicoder…

一款優雅的遵循 Material Design 的開源音樂播放器,UI參考 騰訊輕聽 音樂播放器,使用 Lastfm Api 與 酷狗歌詞Api。專案架構採用 mvp-clean,基於 Retrofit2 + Dagger2 + Rxjava + RxBus + Glide。

專案特點

  • 遵循 Material Design 規範,介面清新,互動優雅。

  • 基於 MVP-CLEAN + Retrofit2 + Dagger2 + Rxjava + Glide

  • 功能模組: 我的歌曲、我的歌單、資料夾、我喜歡、最近播放、最近新增、播放排行、本地搜尋等。

  • 支援顯示歌詞及快取

  • 支援耳機線控播放,耳機拔出自動暫停

  • 動態重新整理媒體庫,及時獲知媒體檔案變更

  • 日夜間模式切換,支援動態換膚

閱讀更多

面試官:請你介紹一下你的專案經驗

Google費盡心力推出了一個新的專案架構

Android 應用防止被二次打包指南

NDK專案實戰—高仿360手機助手之解除安裝監聽

(Android)面試題級答案(精選版)

相信自己,沒有做不到的,只有想不到的

在這裡獲得的不僅僅是技術!

相關文章