安卓開(kāi)發(fā)2019年路線

2019年是做安卓開(kāi)發(fā)人員的絕佳時(shí)機(jī)香追。隨著安卓最近的創(chuàng)新與進(jìn)步,它是現(xiàn)今最熱門(mén)的技術(shù)之一晴楔。Kotlin峭咒、Android Things等的最新進(jìn)展,讓新手開(kāi)發(fā)人員無(wú)法獲取正確的信息并朝著一個(gè)方向?qū)W習(xí)發(fā)展。

希望本指南能幫助你成為2019年想要成為的安卓開(kāi)發(fā)人員

讓我們先從基礎(chǔ)開(kāi)始则果。

從安卓開(kāi)發(fā)開(kāi)始 Level 1

1.從Head First Java學(xué)習(xí)基礎(chǔ)Java
2.安裝Android Studio
3.在Android Studio設(shè)置kotlin - 如果今年不想學(xué)的話(huà)可以跳過(guò)
4.閱讀Android User interface? - 學(xué)習(xí)關(guān)于XML和查看組件的更多信息

你這樣做僅僅是準(zhǔn)備好一個(gè)開(kāi)發(fā)環(huán)境去構(gòu)建安卓App,但是你還得去準(zhǔn)備好基礎(chǔ)和基本知識(shí)來(lái)理解安卓開(kāi)發(fā)和大多數(shù)教程使用的通用術(shù)語(yǔ)

你現(xiàn)在也可以在安卓系統(tǒng)上構(gòu)建基本的App西壮,并且可以開(kāi)發(fā)一些功能叫惊。隨意使用空白畫(huà)布,用你的想象力填充它抡草。

當(dāng)你玩完創(chuàng)意后,2019年你的下一個(gè)目標(biāo)是加快游戲進(jìn)度旋炒,推動(dòng)自己成為一名為數(shù)十億人構(gòu)建應(yīng)用的開(kāi)發(fā)者签杈。我們現(xiàn)在去第二層!

提升自己 - 作為一個(gè)安卓開(kāi)發(fā)者 Level 2

這個(gè)列表將作為你學(xué)習(xí)铣除、實(shí)踐和前進(jìn)的階梯鹦付。

  • 了解Activity的生命周期,以推動(dòng)一個(gè)沒(méi)有bug的App
  • 使用Fragment利用動(dòng)態(tài)的敲长、靈活的和動(dòng)態(tài)的UI設(shè)計(jì)
  • 學(xué)習(xí)如何調(diào)試你的安卓App-使用Android Studio Debugger
  • 掌握Activity來(lái)去構(gòu)建你希望用戶(hù)瀏覽的頁(yè)面
  • 了解安卓的Context
  • 學(xué)習(xí)REST和HTTP - 大多數(shù)專(zhuān)業(yè)開(kāi)發(fā)都非常擅長(zhǎng)理解REST和HTTP的所有特點(diǎn)
  • 學(xué)習(xí)如何利用多線程
    1.學(xué)習(xí)如何將耗時(shí)操作移出主線程
    2.線程的重要性
    3.學(xué)習(xí)提供的幫助你在最短時(shí)間內(nèi)最大限度地利用線程代碼的類(lèi)
    4.了解安卓如何在系統(tǒng)級(jí)使用線程,這將如何影響App中的設(shè)計(jì)選擇和決策
    5.了解系統(tǒng)內(nèi)存和線程代碼的細(xì)微差別
    6.了解如何將線程解決方案應(yīng)用于極其龐大和復(fù)雜的任務(wù)
  • 成為處理配置更改的專(zhuān)家
    1.在配置更改期間保留對(duì)象
    2.自己處理配置更改
  • 學(xué)習(xí)數(shù)據(jù)庫(kù)和SQL
    1.云數(shù)據(jù)庫(kù)
    2.離線和本地?cái)?shù)據(jù)庫(kù)
    3.離線架構(gòu)和離線初步實(shí)踐
  • 內(nèi)容提供 Content providers
    1.學(xué)習(xí)如何分享你的數(shù)據(jù)給其他App
    2.學(xué)習(xí)如何訪問(wèn)其他App的知識(shí)
    3.創(chuàng)建一個(gè)Content providers泽铛,幫助其他應(yīng)用程序安全地訪問(wèn)和修改你App的數(shù)據(jù)
    4.試著玩一下日歷App和聯(lián)系人App的Content providers
  • 學(xué)習(xí)一些頂級(jí)的第三方庫(kù) - 最有用也最常用的
    1.OkHttp
    2.GSON
    3.Retrofit
    4.Glide
    5.Butter Knife
    6.Crashlytics
    7.Guava

所有這些都有助于你建立對(duì)安卓生態(tài)系統(tǒng)的專(zhuān)業(yè)理解盔腔,并讓你準(zhǔn)備好使用安卓處理至少10-15種不同類(lèi)型的業(yè)務(wù)用例月褥。

了解安卓執(zhí)行模式

當(dāng)你真的想用安卓打造一個(gè)極其強(qiáng)大且難忘的體驗(yàn)時(shí),從安卓執(zhí)行模式開(kāi)始是一個(gè)完美的地方舀透。如果你瀏覽下面列表决左,你不僅會(huì)學(xué)到如何實(shí)現(xiàn)它們哆窿,還會(huì)發(fā)現(xiàn)一些你可能會(huì)錯(cuò)過(guò)的執(zhí)行模式。他們是專(zhuān)業(yè)開(kāi)發(fā)手中不可思議的工具挚躯。因此,在安卓執(zhí)行模式方面漩勤,你需要學(xué)習(xí)和注意以下幾點(diǎn):

  • 異步任務(wù)對(duì)于運(yùn)行長(zhǎng)回調(diào)或線程回調(diào)的進(jìn)程沒(méi)有幫助越败。學(xué)習(xí)如何使用Handlerthread來(lái)處理這些過(guò)程
  • 了解如何處理內(nèi)存抖動(dòng)
  • 了解如何將Intent Services與線程配合使用以提高效率
  • 了解安卓服務(wù)的執(zhí)行模式,以便在Service工作結(jié)束后立即終止服務(wù)
  • 了解安卓特定的Hashmap容器置谦,構(gòu)建性能和內(nèi)存平衡的App
  • 了解如何使用內(nèi)存監(jiān)控工具來(lái)觀察分配內(nèi)存是如何影響App的性能的
  • 使用緩存優(yōu)化應(yīng)用程序的網(wǎng)絡(luò)性能
  • 優(yōu)化應(yīng)用程序網(wǎng)絡(luò)請(qǐng)求的頻率
  • 了解處理內(nèi)存泄露的視圖
  • 了解如何處理垃圾回收
  • 了解如何更新App的視覺(jué)屬性去影響性能
  • 深入了解垂直同步
  • 了解如何將安卓用戶(hù)界面與GPU進(jìn)行映射亿傅,并發(fā)現(xiàn)你應(yīng)該解決的復(fù)雜程度,以確保你的App平穩(wěn)運(yùn)行
  • 了解如何構(gòu)建以60fps渲染而不丟幀的應(yīng)用程序
  • 了解有多少其他App與你的App競(jìng)爭(zhēng)系統(tǒng)資源谅阿,并設(shè)計(jì)應(yīng)對(duì)策略
  • 了解如何跟GPU性能并在渲染App時(shí)提高性能
  • 了解如何減少電池消耗的策略
  • 將你的應(yīng)用與你的競(jìng)爭(zhēng)對(duì)手和Playstore突破性應(yīng)用進(jìn)行對(duì)比酬滤,并嘗試在應(yīng)用發(fā)布時(shí)間內(nèi)進(jìn)行改進(jìn)盯串。看看你能走多遠(yuǎn)
  • 縮小app的大小

讓我們把它帶到第三層 Leve3

深入研究Bitmap的內(nèi)存優(yōu)化

學(xué)習(xí)和練習(xí)如何使用Glide在安卓App中處理位圖男摧。你面臨的問(wèn)題是译打,當(dāng)你在你的App上提供大量?jī)?nèi)容時(shí)拇颅,需要獲取、解碼和顯示位圖韵洋。如果你做得不對(duì)黄锤,你最終會(huì)破壞你的應(yīng)用鸵熟,確保很多用戶(hù)會(huì)覺(jué)得你的應(yīng)用不好。

請(qǐng)注意流强,現(xiàn)在你必須處理多達(dá)48MBs的位圖,這些位圖僅來(lái)自用戶(hù)的相機(jī)生成的圖像队腐。這很容易耗盡所有可用的內(nèi)存柴淘。

安卓架構(gòu)組件

作為開(kāi)發(fā),我學(xué)到的最重要的事情之一是在架構(gòu)及其組件之上進(jìn)行實(shí)踐和創(chuàng)新千绪。當(dāng)我開(kāi)始超越MVP梗脾、MVVM、MVx等等的時(shí)候瑞妇,我意識(shí)到圍繞這些架構(gòu)組件還有大量的創(chuàng)新空間梭冠。

例如,早在2017年蔓倍,默認(rèn)的BLE(藍(lán)牙低能耗)配置和設(shè)置就達(dá)不到標(biāo)準(zhǔn)盐捷。理解一個(gè)架構(gòu)組件可以通過(guò)構(gòu)建一個(gè)中間服務(wù)庫(kù)在這里得到改進(jìn)對(duì)我來(lái)說(shuō)是一個(gè)巨大的好處碉渡。

因此,為了正確了解這一點(diǎn)滞诺,我建議你選擇App的各個(gè)架構(gòu)組件习霹,并學(xué)習(xí)它們的最佳實(shí)踐。我想到的其中一些是:

  • Data binding
  • Lifecycles
  • LiveData
  • Navigation
  • Paging
  • Room
  • ViewModel
  • WorkManager

做一名測(cè)試專(zhuān)家

你不想成為那些說(shuō)“它在我的系統(tǒng)上運(yùn)行良好”的開(kāi)發(fā)者之一阎曹,對(duì)嗎?因此望门,在架構(gòu)設(shè)計(jì)和優(yōu)化知識(shí)的基礎(chǔ)上構(gòu)建一切锰霜,創(chuàng)建單元測(cè)試(JUnit4),學(xué)習(xí)如何使用Espresso厨剪,并專(zhuān)注于構(gòu)建令工程經(jīng)理和虛擬專(zhuān)用網(wǎng)絡(luò)滿(mǎn)意的代碼覆蓋率報(bào)告友存。關(guān)注這些報(bào)告如何幫助工程師屡立、測(cè)試人員、經(jīng)理和利益相關(guān)者解決關(guān)鍵App的性能問(wèn)題勇皇,并確定它們的優(yōu)先級(jí)焚刺。

并盡可能多地從原始設(shè)置中實(shí)現(xiàn)自動(dòng)化和重用。這為你成為一名工程經(jīng)理鋪平了道路兄淫。

反應(yīng)式編程 - RxJava

這是不言而喻的蔓姚,也可能是你簡(jiǎn)歷和實(shí)際面試中最受關(guān)注的信息之一。有很多地方你可以實(shí)際學(xué)習(xí)如何實(shí)現(xiàn)RxJava和它的最佳實(shí)踐薯鳍。但是挨措,我最喜歡的是:

它們是你理解RxJava并掌握其某些方面的一個(gè)很好的起點(diǎn)浅役。如果你希望圍繞RxJava探索更多主題伶唯,請(qǐng)考慮瀏覽以下內(nèi)容:

  • Depth of Observables in RxJava
  • Implementing Caching using RxJava

了解Dagger的一切

成為Dagger專(zhuān)家的步驟是:

  1. 瀏覽文檔并理解整個(gè)依賴(lài)注入過(guò)程
  2. 建立一個(gè)限制列表
  3. 建立一個(gè)項(xiàng)目并在其中實(shí)現(xiàn)Dagger2

安全專(zhuān)業(yè)

安卓專(zhuān)家和安全專(zhuān)家?哇瞪讼!這是我們?cè)陂_(kāi)發(fā)中很少看到的東西符欠!
因此,在2019年诊沪,你可以做一些事情來(lái)成為那個(gè)人:

  • 了解如何將App的數(shù)據(jù)和代碼與其他應(yīng)用程序隔離開(kāi)來(lái)
  • 學(xué)習(xí)密碼功能并實(shí)現(xiàn)它們
  • 了解如何消除與內(nèi)存管理錯(cuò)誤相關(guān)的風(fēng)險(xiǎn)
  • 了解如何最好地使用用戶(hù)授予的權(quán)限來(lái)控制應(yīng)用程序數(shù)據(jù)
  • 安全數(shù)據(jù)存儲(chǔ)和加密:本地存儲(chǔ)曾撤、動(dòng)態(tài)存儲(chǔ)或云存儲(chǔ)
  • 精通Content Provider的安全訪問(wèn)
  • 確保你混淆了你的數(shù)據(jù)
  • 了解如何實(shí)現(xiàn)不屬于通用安卓系統(tǒng)的本地安全解決方案
  • 審核受歡迎的第三方庫(kù)挤悉,以了解并按漏洞級(jí)別分解它們,并圍繞它構(gòu)建一個(gè)研究文檔
  • 努力讓BLE在你的應(yīng)用程序中更加安全

就這樣了昏鹃,希望這個(gè)列表能幫助你在2019年成為一名專(zhuān)業(yè)的安卓開(kāi)發(fā)者衅斩!

PS:本文整理
Android developer Roadmap for 2019
若有發(fā)現(xiàn)問(wèn)題請(qǐng)致郵 caoyanglee92@gmail.com

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末畏梆,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子宪巨,更是在濱河造成了極大的恐慌溜畅,老刑警劉巖慈格,帶你破解...
    沈念sama閱讀 207,113評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件浴捆,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡选泻,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門(mén)厢呵,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)傀顾,“玉大人,你說(shuō)我怎么就攤上這事蝌矛〈碛ⅲ” “怎么了椭岩?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,340評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)献雅。 經(jīng)常有香客問(wèn)我塌计,道長(zhǎng)锌仅,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,449評(píng)論 1 279
  • 正文 為了忘掉前任贱傀,我火速辦了婚禮府寒,結(jié)果婚禮上报腔,老公的妹妹穿的比我還像新娘。我一直安慰自己邪狞,他們只是感情好茅撞,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著剑令,像睡著了一般吁津。 火紅的嫁衣襯著肌膚如雪堕扶。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,166評(píng)論 1 284
  • 那天典尾,我揣著相機(jī)與錄音钾埂,去河邊找鬼科平。 笑死,一個(gè)胖子當(dāng)著我的面吹牛髓考,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播弃酌,決...
    沈念sama閱讀 38,442評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼氨菇,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了矢腻?” 一聲冷哼從身側(cè)響起门驾,我...
    開(kāi)封第一講書(shū)人閱讀 37,105評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎多柑,沒(méi)想到半個(gè)月后奶是,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,601評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡竣灌,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了初嘹。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片及汉。...
    茶點(diǎn)故事閱讀 38,161評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖屯烦,靈堂內(nèi)的尸體忽然破棺而出坷随,到底是詐尸還是另有隱情房铭,我是刑警寧澤,帶...
    沈念sama閱讀 33,792評(píng)論 4 323
  • 正文 年R本政府宣布温眉,位于F島的核電站缸匪,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏类溢。R本人自食惡果不足惜凌蔬,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望闯冷。 院中可真熱鬧砂心,春花似錦、人聲如沸蛇耀。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,352評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)蒂窒。三九已至躁倒,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間洒琢,已是汗流浹背秧秉。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,584評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留衰抑,地道東北人象迎。 一個(gè)月前我還...
    沈念sama閱讀 45,618評(píng)論 2 355
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像呛踊,于是被迫代替她去往敵國(guó)和親砾淌。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評(píng)論 2 344