作爲一名菜雞Android,時常瞻仰大佬們的開源項目是非常必要的。這裏我爲大家收集整理了10個優秀的開源項目,方便我們日常開發中學習!
作者:ListenToCode
博客:https://www.jianshu.com/p/974...
KnowWeather
GitHub地址
https://github.com/SilenceDut...)
一款 Android 開源天氣 App ,包含天氣信息、詳情、生活指數等,通知欄,桌面小部件,定時更新天氣等等,應用沒有任何廣告,支持縣級、區級城市的天氣,原文:https://www.diycode.cc/projec...
- 整體框架
根據實際項目淺談Android項目中的框架搭建 - 關於
知天氣——天氣盡在掌握之中(https://silencedut.github.io/...——天氣盡在掌握之中/)
- 特點
支持縣級、區級天氣
JobScheduler與JobService的使用
輪詢系統定時更新天氣
實現很多定製化很大的,對後臺任務嚴苛的系統中(如魅族系統)通知欄常駐,並且輪詢系統正常運行,很多下載量千萬級的天氣應用無法達到此效果
無廣告和強制保活拉活的行爲
FolioReader-Android
GitHub地址
https://github.com/FolioReade...一個 Android 開源電子書(ePub)閱讀 App ,
原文:
效果圖
Gradle
Add following dependency to your app build.gradle
compile 'com.folioreader:folioreader:0.2.3'
NBAPlus
GitHub地址
https://github.com/SilenceDut...一個 Android 開源 NBA 資訊和賽事信息的平臺 App
效果圖
特點
- 遵循Android開發最佳實踐的一種具體實踐
- Retrofit2.0+RxJava+EventBus+GreenDao的使用
- 代碼結構清晰,擴展性強,易複用到其他項目
- 結合NBAPlus Server 學習後臺開發知識和接口的設計
- 動態Blur效果。
關於
NBA資訊和賽事信息的平臺。 全面、方便、快捷的獲取新聞動態、比賽數據。 無廣告、推送信息,不後臺常駐,空間佔用小。web後臺部分在這:
NBAPlus Server
(https://github.com/SilenceDut...)
MyDiary
GitHub地址
https://github.com/DaxiaK/MyD...動漫《你的名字》同款 Android 開源 App,原文:
效果圖
簡詩
GitHub地址
https://github.com/wingjay/ji...一款優雅的中國風記錄 app,包括 Android 端和 Server 端,原文:https://www.diycode.cc/projec...
相關博客
如何在一天之內完成一款具備cool屬性的Android產品_簡書
(https://www.jianshu.com/p/cf4...)
banya
GitHub地址
(https://github.com/forezp/banya)一個基於豆瓣 API 仿網易雲音樂的開源項目。原文:https://www.diycode.cc/projec...
項目介紹:
- 整體採用material design 風格,本人是網易雲音樂的粉絲,所以界面模仿了網頁雲音樂,另外,項目中儘量使用了5.0之後的新控件。
- 項目整體採用mvp+rxjava+retrofit 框架,使用glide進行圖片展示,用butterknif註解,另外使用了java 8 新特性,拉姆達表達式,安卓原生並不支持,需要導插件,具體見項目。
- 並對retrofit的okhttpClient進行了緩存配置,很遺憾,豆瓣API在服務端並沒有對返回數據進行Cache-Control 設置。
- 後續會採用本地數據庫對數據進行緩存,初步定爲使用realm。
- 項目地址:https://github.com/forezp/banya
- 主界面採用material design 設計風格,使用了NavigationView和DrawerLayout的抽屜效果,CoordinatorLayout和viewpager 配合,使用behavior屬性,對toolbar的顯示和隱藏進行了控制。使用了tablayout和viewpager配合,切換fragment,整體風格類似於網易雲音樂。
- 用到的豆瓣API有熱映榜、top250、搜索圖書、搜索音樂,等。
yasea
GitHub地址
https://github.com/begeekmyfr...帶美顏濾鏡的 Android 直播推流開源客戶端項目,通過手機攝像頭和麥克風採樣,編碼爲H.264和AAC,再封裝FLV格式,推送至RTMP服務器。延遲達到毫秒級別。
Coding-Android
GitHub地址
https://github.com/Coding/Cod...編譯環境 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地址
https://github.com/googlecrea...原文https://www.diycode.cc/projec...
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地址
https://github.com/hefuyicode...一款優雅的遵循 Material Design 的開源音樂播放器,UI參考 騰訊輕聽 音樂播放器,使用 Lastfm Api 與 酷狗歌詞Api。項目架構採用 mvp-clean,基於 Retrofit2 + Dagger2 + Rxjava + RxBus + Glide。
項目特點
- 遵循 Material Design 規範,界面清新,交互優雅。
- 基於 MVP-CLEAN + Retrofit2 + Dagger2 + Rxjava + Glide
- 功能模塊: 我的歌曲、我的歌單、文件夾、我喜歡、最近播放、最近添加、播放排行、本地搜索等。
- 支持顯示歌詞及緩存
- 支持耳機線控播放,耳機拔出自動暫停
- 動態刷新媒體庫,及時獲知媒體文件變更
- 日夜間模式切換,支持動態換膚
閱讀更多
相信自己,沒有做不到的,只有想不到的
在這裏獲得的不僅僅是技術!