Android2017 這些技術 —— 你都瞭解過嗎

codeGoogle發表於2017-08-03

外掛化

熱更新

對Android平臺,我們通常所說的線上熱更新就是,例如對已經發布在應用市場上的宿主APK,當我們從crash統計平臺上發現某個函式呼叫有bug,導致經常性crash,這時,可以在本地開發一個補丁APK,併發布到伺服器中,宿主APK下載這個補丁APK並整合後,就可以很容易修復這個crash

熱修復

ReactNative

Kotlin:

  • 作為 Android 領域的 Swift,絕對讓你如沐新風。拋棄沉重的 Java 語法,Kotlin 融入了很多現代程式語言的思想,作為開發者,接受新的語言,瞭解新語言的發展趨勢,更有利於開闊你的思路和加深對語言的理解。在 Android 開發上,使用 Kotlin 並不會讓你付出什麼代價

    ragnraok.github.io/using-kotli…

    Dagger

    • 依賴注入並不是什麼新技術,但是使用在 Android 確實一個新的嘗試。Android App 越來越被當成嚴肅的大型專案來構建,很多在以前大型伺服器開發上使用的技術都被應用到了移動開發。Android 開發分模組開發,使用 Dagger 來鬆耦合模組。特別值得一體的是,Dagger 2 現在由 Google 親自接管。

      google.github.io/dagger/

      Material Design:

已經紅遍了大江南北,這方面的討論實在太多了,而且各種支援庫都有了,特別是 Google 官方出了一個支援庫 Android Design Support Library。

Sketch3

  • 這是一個專為設計移動端 UI 的設計工具,作為開發者,不用懂那麼複雜的 PS 使用,也可以做非常專業設計:

    designcode.io/sketch

Design Support Library

blog.csdn.net/feelang/art…

MVP

MVP越來越多的被Android社群所討論,有點是能夠讓程式碼更清晰,但同時也會增加很多類,寫起來更麻煩,不過對於一些不是很龐大的專案卻是非常適合的。

這裡提供一個最先採用MVP模式的開源專案:

github.com/pedrovgs/Ef…

MVVM

因為官方支援 DataBinding,把 MVVM 直接帶到 Android 中。它非常高效的開發效率,讓你只關心你的資料和業務,從此資料繫結會更加常見。

t.cn/RbHmnhE

RxJava

最近響應式程式設計框架RxJava越來越受大家待見,RxJava讓你非同步任務更簡潔方便,以我對技術的敏感性認為RxJava可能會越來越普遍,推薦大家學習。這裡有一系列詳細的資料教你學習。 github.com/lzyzsd/Awes…

另外幾個動態載入及熱部署框架彙總

1.DroidPlugin

用途:動態載入

使用案例:360手機助手

GitHub地址:github.com/Qihoo360/Dr…

ppt介紹:github.com/Qihoo360/Dr…

Demo:github.com/SpikeKing/w…

詳解:

blog.csdn.net/yzzst/artic…

v2ex.com/t/216494

2.AndFix

用途:熱修復

GitHub地址:github.com/alibaba/And…

講解:

blog.csdn.net/yzzst/artic…

blog.csdn.net/qxs96526650…

blog.csdn.net/yaya_soft/a…

3.dexposed

用途:熱修復

GitHub地址:github.com/alibaba/dex…

講解:

blog.csdn.net/yzzst/artic…

blog.csdn.net/yzzst/artic…

www.jianshu.com/p/14edcb444…

4.Small

用途:動態載入

GitHub地址:github.com/wequick/Sma…

Demo:github.com/cayden/MySm…

  1. DynamicAPK

用途:動態載入、熱修復

案例:攜程

GitHub地址:github.com/CtripMobile…

詳解:www.infoq.com/cn/articles…

6.ClassPatch

用途:熱修復

GitHub地址:github.com/Jarlene/Cla…

詳解:blog.csdn.net/xwl198937/a…

7.ACDD

用途:動態載入

GitHub地址:github.com/bunnyblue/A…

8.HotFix

用途:熱修復

GitHub地址:github.com/dodola/HotF…

該專案是基於QQ空間終端開發團隊的技術文章實現的

9.Nuwa

用途:熱修復

GitHub地址:github.com/jasonross/N…

詳解:www.jianshu.com/p/72c17fb76…

10.DroidFix

用途:熱修復

GitHub地址:github.com/bunnyblue/D…

詳解:bunnyblue.github.io/DroidFix/

11.AndroidDynamicLoader

用途:動態載入

GitHub地址:github.com/mmin18/Andr…

Demo:github.com/mmin18/Andr…

AndroidApp原始碼推薦

iosched

iosched專案是Google I/O的官方app,絕佳的學習專案。

github.com/google/iosc…

android-UniversalMusicPlayer

也是Google官方作品,程式碼量不大、註釋清晰,簡單但全功能的音樂播放器。

github.com/googlesampl…

android-topeka

這個專案是Google前段時間剛發出來,通過這個app,你還可以學到如何設計你app的互動和視覺以更好的和MaterialDesign搭配。

github.com/googlesampl…

Google的專案有些時候對於初學者有點困難,下面就推薦兩個完整的輕量的學習專案。

9GAG

9GAG是我個人的開源練習專案,教你使用Studio、Gradle以及一些流行的開源庫快速開發一個不錯的Android客戶端。

github.com/stormzhang/…

AnimeTaste

程式碼家開源的一個線上關注動畫的一個App,同樣適合初學者學習。

github.com/daimajia/An…

Awesome-MaterialDesign

Awesome-MaterialDesign - MaterialDesignCenter改名為Awesome-MaterialDesign,優化了佈局,新增了不少庫。

github.com/lightSky/Aw…

ui庫

非常多的ui及特效

github.com/wasabeef/aw…

ChipsLibrary

在Android EditText中實現打Tag功能。

github.com/AndroidDeve…

bitmapMesh - 拉窗簾效果。

ObservableScrollView - 在滾動的檢視觀測滾動事件的Android庫 它易於與在Android 5.0 Lollipop中引入的工具條Toolbar相互動,並能夠幫助實現Material Design apps的外觀。

github.com/ksoichiro/A…

相信自己,沒有做不到的,只有想不到的

如果你覺得此文對您有所幫助,歡迎入群 QQ交流群 :232203809
微信公眾號:終端研發部

技術+職場
技術+職場

相關文章