Awesome WanAndroid專案基於Material Design + MVP + Rxjava2 + Retrofit + Dagger2 + GreenDao + Glide
這是一款會讓您覺得很nice的技術學習APP,所用技術基本上涵蓋了當前Android開發中常用的主流技術框架,閱讀內容主要面向想在Android開發領域成為專家的朋友。此外,我正在進行一個全新的Android進階計劃, 致力於成為更好的Android開發,有興趣的朋友可以參考下~
Android Studio 上提示缺少Dagger產生的類,可以直接編譯項目,會由Dagger2自動生成
本計畫還有一些不夠完善的地方,如發現有Bug,歡迎issue、Email([email protected])、PR
專案中的API皆來自於WanAndroid網站,純屬共享學習之用,不得用於商業用途! !大家有任何疑問或建議的可以聯絡[email protected]
專案程式碼盡力遵循了阿里巴巴Java開發規範和阿里巴巴Android開發規範,並且有良好的註解。
使用Rxjava2結合Retrofit2進行網路請求。
使用Rxjava2的操作符對事件流進行轉換、延時、過濾等操作,其中使用Compose操作符結合RxUtils工具類別簡化執行緒切換呼叫的程式碼數量。
使用Dagger2結合Dagger.Android無耦合地將Model注入Presenter、Presenter注入View,更有效率地實現了MVP模式。
使用BasePresenter對事件流訂閱的生命週期做了整合管理。
使用Material Design中的Behavior集合ToolBar實現了響應式的「上失下現」特效。
多處使用了滑動到頂部的懸浮按鈕,提升閱讀的便利性。
使用SmartRefreshLayout豐富的刷新動畫將專案的美麗提升了一個檔次。
使用了騰訊Bugly,以便對專案進行Bug修復和CI。
專案中多處使用了炫目的動畫及特效。
高覆蓋率的單元測試及部分UI測試。
更多請Clone本項目進行查看。 。 。
請參閱Awesome-Third-Library-Source-Analysis
1、將請求url的scheme欄位全域替換為https
2、解決issue上存在的bug
1.新增公眾號欄目,支持公眾號內搜尋
2.解決Bugly上的bug
1.適配Android O版本
2.解決Bugly上的bug
1.增加了Presenter層單元測試和部分View層的自動化UI測試
2.解決登陸狀態一段時間會失效的bug
3.進行了適當的小規模重構
4.解決Bugly的相容性bug
1.增加dagger.android
2.使用config.gradle統一管理gradle依賴
3.封裝RxBinding訂閱處理
4.增加共享元素適配處理
5.使用Compose增加統一回傳結果處理
6.增加Glide memory、bitmapPool、diskCache配置
7.最佳化載入錯誤頁顯示邏輯
8.優化註冊介面
9.優化沉浸式狀態列顯示效果
10.更新Gradle版本到3.0.1
1.增加設置模組
2.分離出常用網站介面
3.增加item多標籤
4.美化詳情介面選單
5.加入ActivityOption跳轉動畫
6.解決90%以上的記憶體洩露
1.增加RxBus訂閱管理,解決RxBus記憶體外洩的問題
2.解決Webview有時載入不出來的問題
3.增加RxPermission,處理Android 6.0權限問題
4.Base響應基類泛型化,減少大量實體程式碼
5.增加知識分類導覽詳情頁
6.搜尋頁面增加刪除搜尋記錄,UI介面更加美觀
7.專案整體UI美化
1.合理化專案分包架構
2.優化搜尋模組
3.增加自動登入
4.增加TabLayout智能連動RecyclerView
5.增加沉浸式狀態列
6.優化詳情文章選單樣式
7.專案整體UI美化
1.提交Awesome WanAndroid第一版
鴻洋大大提供的WanAndroid API
GeekNews 提供了Dagger2配合MVP的架構思路
Toutiao 提供的MD特效實現思路
diycode 提供的智慧滑動懸浮按鈕實現思路
Eyepetizer-in-Kotlin 提供的搜尋介面切換特效實現思路
此外,也參考了不少國內外牛人的項目,感謝開源!
花瓣提供了美麗的UI介面設計,感謝花瓣
iconfont 阿里巴巴對外開放的很棒的icon資源
Rxjava
RxAndroid
RxBinding
Retrofit
OkHttp
Gson
Glide
Dagger2
ButterKnife
GreenDao
SmartRefreshLayout
Lottie-android
現如今,Android 產業人才已逐漸飽和化,但高階人才依舊很稀缺,我們常遇到的情況是,100份履歷中只有2、3個比較合適的候選人,大部分的人都是疲於業務,沒有花時間好好學習,或完全不知道學什麼來提升自己的技術。對於Android 開發者來說,儘早建立起一個完整的Android 知識框架,了解目前大廠高頻出現的常考知識點,掌握面試技巧,是一件非常需要重視的事情。
去年,為了進入一線大廠去做更有挑戰的事情,拿到更高的薪資,我提前準備了半年的時間,沉澱了一份“兩年磨一劍”的體系化精品面試題,而後的半年,我都在不斷地進行面試,總共面試了二三十家公司,每一場面試完之後,我都將對應的面試題和詳細的答案進行了系統化的總結,並更新到了我的面試項目裡,現在,在每一個模組之下,我都已經精心整理出了超高頻和高頻的常考知識點。
在我近一年的大廠實戰面試複盤中逐漸對原本的內容進行了大幅度的優化,並且新增了許多新的內容。它可以說是一線網路大廠的面試精華總結,同時後續還會包含如何寫履歷和麵試技巧的內容,能夠幫你省時省力地準備面試,大大降低找到一個好工作的難度。
這個面試項目不同於我Github 上的Awesome-Android-Interview 面試項目:https://github.com/JsonChao/Awesome-Android-Interview,Awesome-Android-Interview 已經在2 年前(2020年10 月停止更新),內容稍顯陳舊,裡面也有不少點表述不嚴謹,整體含金量較低。而我今天要分享的這份面試題庫,是我在這兩年持續總結、細化、沉澱出來的體系化精品面試題,裡面很多的核心題答案在面試的壓力下,經過了反覆的校正與昇華,含金量極高。
在分享之前,有一點要注意的是,一定不要將資料洩漏出去!細想一下就明白了:
1.如果暴露出去,拿到手的人比你更快掌握,更早進入大廠,拿到高薪,你進大廠的機會就會變小,畢竟現在好公司就那麼多,一個蘿蔔一個坑。
2.兩年前我公開分享的簡陋版Awesome-Android-Interview 面試題庫現在還在被各個訓練機構當做引流資料,加大了現在Android 內卷。 。
所以,這一點一定要切記。
取得方法:掃描下方的二維碼。
這是我過去七年一直在研究的命題。首先,是為自己研究,因為我是從小城鎮出來的,透過持續不斷地逆襲立足深圳。越是出身普通的人,就越需要有耐心,去進行系統性地全面提升,這方面,我有非常豐富的實務經驗和方法論。因此,我開啟了「JsonChao」 的成長社群,希望和你一起完成系統性地蛻變。
我的公眾號JsonChao
開通啦,專注於建構一套未來Android開發必備的知識體系。每個工作日為您推送高品質文章,讓你每天都能漲知識。如果您想第一時間獲取最新文章和最新動態,歡迎掃描關注~
Copyright 2018 JsonChao
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, ei spect press or implied . limitations under the License.