首頁>科技>

2020年是做安卓開發人員的絕佳時機!本文將給你一個從小白到精通最後成為大牛的發展路線規劃!

隨著安卓最近的創新與進步,它是現今最熱門的技術之一。NDK技術,音視訊,人工智慧等最新進展,讓新手開發人員無法獲取正確的資訊並朝著一個方向學習發展。

希望本指南能幫助你成為2020年想要成為的安卓開發人員

讓我們先從基礎開始。

從安卓開發開始 Level 1

1.從Head First Java學習基礎Java2.安裝Android Studio3.在Android Studio設定kotlin - 如果今年不想學的話可以跳過4.閱讀Android User interface  - 學習關於XML和檢視元件的更多資訊

你這樣做僅僅是準備好一個開發環境去構建安卓App,但是你還得去準備好基礎和基本知識來理解安卓開發和大多數教程使用的通用術語

你現在也可以在安卓系統上構建基本的App,並且可以開發一些功能。隨意使用空白畫布,用你的想象力填充它。

當你玩完創意後,2020年你的下一個目標是加快遊戲進度,推動自己成為一名為數十億人構建應用的開發者。我們現在去第二層!

提升自己 - 作為一個安卓開發者 Level 2

這個列表將作為你學習、實踐和前進的階梯。

了解Activity的生命週期,以推動一個沒有bug的App使用Fragment利用動態的、靈活的和動態的UI設計學習如何除錯你的安卓App-使用Android Studio Debugger掌握Activity來去構建你希望使用者瀏覽的頁面了解安卓的Context學習REST和HTTP - 大多數專業開發都非常擅長理解REST和HTTP的所有特點學習如何利用多執行緒1.學習如何將耗時操作移出主執行緒2.執行緒的重要性3.學習提供的幫助你在最短時間內最大限度地利用執行緒程式碼的類4.了解安卓如何在系統級使用執行緒,這將如何影響App中的設計選擇和決策5.了解系統記憶體和執行緒程式碼的細微差別6.了解如何將執行緒解決方案應用於極其龐大和複雜的任務成為處理配置更改的專家1.在配置更改期間保留物件2.自己處理配置更改學習資料庫和SQL1.雲資料庫2.離線和本地資料庫3.離線架構和離線初步實踐內容提供 Content providers1.學習如何分享你的資料給其他App2.學習如何訪問其他App的知識3.建立一個Content providers,幫助其他應用程式安全地訪問和修改你App的資料4.試著玩一下日曆App和聯絡人App的Content providers學習一些頂級的第三方庫 - 最有用也最常用的1.OkHttp2.GSON3.Retrofit4.Glide5.Butter Knife6.Crashlytics7.Guava

所有這些都有助於你建立對安卓生態系統的專業理解,並讓你準備好使用安卓處理至少10-15種不同型別的業務用例。

了解安卓執行模式

當你真的想用安卓打造一個極其強大且難忘的體驗時,從安卓執行模式開始是一個完美的地方。如果你瀏覽下面列表,你不僅會學到如何實現它們,還會發現一些你可能會錯過的執行模式。他們是專業開發手中不可思議的工具。因此,在安卓執行模式方面,你需要學習和注意以下幾點:

非同步任務對於執行長回撥或執行緒回撥的程序沒有幫助。學習如何使用Handlerthread來處理這些過程了解如何處理記憶體抖動了解如何將Intent Services與執行緒配合使用以提高效率了解安卓服務的執行模式,以便在Service工作結束後立即終止服務了解安卓特定的Hashmap容器,構建效能和記憶體平衡的App了解如何使用記憶體監控工具來觀察分配記憶體是如何影響App的效能的使用快取優化應用程式的網路效能優化應用程式網路請求的頻率了解處理記憶體洩露的檢視了解如何處理垃圾回收了解如何更新App的視覺屬性去影響效能深入了解垂直同步了解如何將安卓使用者介面與GPU進行對映,並發現你應該解決的複雜程度,以確保你的App平穩運行了解如何構建以60fps渲染而不丟幀的應用程式了解有多少其他App與你的App競爭系統資源,並設計應對策略了解如何跟GPU效能並在渲染App時提高效能了解如何減少電池消耗的策略將你的應用與你的競爭對手和Playstore突破性應用進行對比,並嘗試在應用釋出時間內進行改進。看看你能走多遠縮小app的大小讓我們把它帶到第三層 Leve3

深入研究Bitmap的記憶體優化

學習和練習如何使用Glide在安卓App中處理點陣圖。你面臨的問題是,當你在你的App上提供大量內容時,需要獲取、解碼和顯示點陣圖。如果你做得不對,你最終會破壞你的應用,確保很多使用者會覺得你的應用不好。

請注意,現在你必須處理多達48MBs的點陣圖,這些點陣圖僅來自使用者的相機生成的影象。這很容易耗盡所有可用的記憶體。

安卓架構元件

作為開發,我學到的最重要的事情之一是在架構及其元件之上進行實踐和創新。當我開始超越MVP、MVVM、MVx等等的時候,我意識到圍繞這些架構元件還有大量的創新空間。

例如,早在2017年,預設的BLE(藍芽低能耗)配置和設定就達不到標準。理解一個架構元件可以通過構建一箇中間服務庫在這裡得到改進對我來說是一個巨大的好處。

因此,為了正確了解這一點,我建議你選擇App的各個架構元件,並學習它們的最佳實踐。我想到的其中一些是:

【阿里P7Android高階教程】

下面資料部分截圖,誠意滿滿:特別適合有1-5年開發經驗的Android程式設計師們學習。

Android核心高階技術PDF文件;

BAT一線網際網路公司面試真題解析文件資料;

評論轉發加私信關鍵詞【領取資料】免費領取,我後臺設定有自動傳送回覆。

上述資料資源現開放免費獲取,附送高清腦圖,高清知識點講解教程,以及一些面試真題及答案解析。送給需要的提升技術、近期面試跳槽、自身職業規劃迷茫的朋友們。

這些資料收費嗎?

不收。收費的話很多人就看不到了,我希望更多的人能看到。

做一名測試專家

你不想成為那些說“它在我的系統上執行良好”的開發者之一,對嗎?因此,在架構設計和優化知識的基礎上構建一切,建立單元測試(JUnit4),學習如何使用Espresso,並專注於構建令工程經理和虛擬專用網路滿意的程式碼覆蓋率報告。關注這些報告如何幫助工程師、測試人員、經理和利益相關者解決關鍵App的效能問題,並確定它們的優先順序。

並儘可能多地從原始設定中實現自動化和重用。這為你成為一名工程經理鋪平了道路。

反應式程式設計 - RxJava

這是不言而喻的,也可能是你簡歷和實際面試中最受關注的資訊之一。有很多地方你可以實際學習如何實現RxJava和它的最佳實踐。但是,我最喜歡的是:

Grokking RxJava SeriesExploring RxJava 2 by Jake WhartonManaging State with RxJava by Jake Wharton

它們是你理解RxJava並掌握其某些方面的一個很好的起點。如果你希望圍繞RxJava探索更多主題,請考慮瀏覽以下內容:

Depth of Observables in RxJavaImplementing Caching using RxJava了解Dagger的一切

成為Dagger專家的步驟是:

瀏覽文件並理解整個依賴注入過程建立一個限制列表建立一個專案並在其中實現Dagger2安全專業

安卓專家和安全專家?哇!這是我們在開發中很少看到的東西!因此,在2020年,你可以做一些事情來成為那個人:

了解如何將App的資料和程式碼與其他應用程式隔離開來學習密碼功能並實現它們了解如何消除與記憶體管理錯誤相關的風險了解如何最好地使用使用者授予的許可權來控制應用程式資料安全資料儲存和加密:本地儲存、動態儲存或雲端儲存精通Content Provider的安全訪問確保你混淆了你的資料了解如何實現不屬於通用安卓系統的本地安全解決方案稽核受歡迎的第三方庫,以了解並按漏洞級別分解它們,並圍繞它構建一個研究文件努力讓BLE在你的應用程式中更加安全

就這樣了,希望這個列表能幫助你在2020年成為一名專業的安卓開發者!

最新評論
  • 整治雙十一購物亂象,國家再次出手!該跟這些套路說再見了
  • 所有的瓶頸都是認知的侷限