2018總結

一前言      前端

         時光如梭,熬了無數的夜,也未感受時間變慢。學習的過程當中感受有很大進步,突破了瓶頸。如今看來也僅僅是上了一個小臺階,亦或是一場錯覺。固然也存在從入門到放棄的敗筆,學過忘記的敗筆。後知後覺並不可怕,可怕的是不知不覺。vue

二回顧java

2.1失敗的播放器android

      2018年是缺乏學習計劃的一年,全部的學習計劃所有是臨時起意。年初對視頻播放作了研究,基於ijkplay開源庫仿照qq瀏覽器UI作了一個視頻播放器的封裝實現。仿照程度還算是能夠。適配工做沒有作。如今看來,這個計劃並未讓我從中獲取心裏真實渴望的知識,從效率上來說,花費一個月休息時間,學了一些不知道何時就會忘記的API,時間算是浪費掉。這個項目對我有幫助也就是鞏固類的設計,封裝和解耦。面試

2.2算是入門的kotlin語言小程序

    以後又受大環境的影響,入門了kotlin語言。爲了更好的入門,更深入的記住kotlin的特性,找到了別人的開源接口和UI,使用kotlin語言寫了一個開源項目,同時看了《Kotlin Action》這本書。記錄了十篇筆記文章。 進步點有:1優化了mvp寫法,2.UI進行了基類抽取。3.熟悉大量kotlin語法糖的用法。微信小程序

2.3android的自定義控件瀏覽器

     自定義控件學習過程當中感受是突破,如今看來也僅僅是一個入門。關於自定義控件筆者已經從入門到放棄二次了。如今看來前兩次的放棄並非由於難,而是不得其法門。微信

以自定義屬性動畫爲基礎:app

(屬性動畫原理:在必定時間間隔內,經過不斷對值進行改變,並不斷將該值賦給對象的屬性,不斷的調用onDrow從新繪製視圖,從而實現該對象在該屬性上的動畫效果。

以分析源碼測量控件流程爲突破口:

DecorView對象調用View#measure 參數爲本身生成的MeasureSpec------>View#measure中又調用了onMeasure(widthMeasureSpec, heightMeasureSpec)方法------>不一樣的子類重寫了不一樣的onMeasure邏輯,可是最基本的都幹了兩件事:1,父容器的MeasureSpec+本身的LayoutParams(使用者寫的佈局寬高)轉換成本身的MeasureSpec,而後遞歸調用View的measure方法,2設置本身的真實大小

以自定義的View的左上角爲座標原點,安排內部元素的位置和大小,以及總體的大小。

以hencoder爲API文檔 :API文檔不須要記,浪費腦細胞。用的時候查看一下就行。

按照自定義步驟:肯定view大小---->在onMeasure中告訴父佈局--->onSizeChanged方法中去矯正能夠繪製的寬高---->以View左上角爲原點算出內部元素的座標繪製一個靜態的效果----->添加屬性動畫實現動態繪製。

2.4學會已經忘記的Databinding和Dagger2

    從目前個人知識儲備來看Databinging徹底是仿照前端vue框架的思路在android生拉硬套出來一個數據驅動UI框架,犧牲佈局文件的獨立性去擬補數據驅動UI,這樣增長了耦合性,有點得不償失,可是不少人都說mvvm比較好用,因而就入門了Databinding庫。

Dagger2是一個依賴注入框架,把被依賴的對象的建立所有放到一個地方,讓代碼好維護。學習成本有點高,學會了也就那麼回事,對於他的學習目的徹底是防止別人寫的項目使用了Dagger2,致使看不懂尷尬才入手。

2.5解開的心結自動刷新token無感請求

爲何說他是一個心結,由於一次面試被問到這個問題,一直沒有解決方案,直到找到解決方案:retryWhen+onErrorResumeNext實現動態無感刷新token。一個很是精緻的需求實現。

2.6從入門到放棄的RxCamera

相機庫沒有封裝出來,rx技術卻是有所精進。年初以放棄多媒體開發開始,年尾以放棄多媒體開發結束。

2.7入門了uni-app

 年末最後的4個月沒有更文,並非由於懶惰了,公司安排使用uni-app去寫一個微信小程序。稀裏糊塗的寫完了,可是僅僅是一個入門水準,可是卻給我2019年增長了一個安排,系統學習一下前端語言。

三總結

既然是總結,就要說點感悟:經過kotlin語言和js語言的學習,對比java語言,得出一個感受,語言思想都是互通的,因此再以後的學習中,儘可能不要記哪些無聊的API,API只是手段,打紮實基礎語法。以後就是多學思想(大量看別人的或者系統的源碼,體會代碼的思路,轉化爲本身的思路),多去了解最新技術,每一種新技術就意味着一種新思想。

四2019計劃

1.全面系統的學一下前端基礎和前端比較火的框架。

2.閱讀《圖解http》一書。

3.小程序系統學習。

4.android入手jetpack和多看一些android的開源項目。

5.入門一下後臺。

相關文章
相關標籤/搜索