- Jetpack Compose:Android全新UI編程
- 朱江
- 1549字
- 2022-05-13 11:04:52
前言
從2008年10月第一部Android智能手機(jī)發(fā)布到現(xiàn)在,Android已經(jīng)走過了十余年的歷程。從最開始任何框架都沒有,做一款應(yīng)用程序基本需要全部手寫代碼,到現(xiàn)在各種框架“滿天飛”,Android已形成一套完整的開發(fā)體系。而后Google官方又推出了Jetpack幫助開發(fā)者開發(fā)Android應(yīng)用程序。Jetpack是一個(gè)由多個(gè)庫組成的套件,可以幫助開發(fā)者遵循最佳做法,減少開發(fā)中的樣板代碼,讓開發(fā)者能夠集中精力編寫更重要的代碼,本書所講的Compose正是Jetpack的一部分。
寫作緣由
2019年5月,Google在I/O大會(huì)上公布了Android全新的UI系統(tǒng)Compose,但是直到2020年9月才發(fā)布了第一個(gè)Alpha版本,此后在各大技術(shù)網(wǎng)站移動(dòng)開發(fā)模塊中有很多人開始嘗試使用Compose編寫Android UI。2021年2月,Google終于發(fā)布了第一個(gè)Beta版本。時(shí)隔近兩年都沒有發(fā)布正式版,只發(fā)布了Beta版本,如此復(fù)雜但還要堅(jiān)持編寫Compose,足以表明Google對(duì)Compose的重視程度。
Compose Beta版本發(fā)布之后,各大技術(shù)網(wǎng)站迎來了新春,Compose的文章鋪天蓋地,但相關(guān)文章碎片化嚴(yán)重,無法進(jìn)行系統(tǒng)的學(xué)習(xí)。想到很多開發(fā)者應(yīng)該有和我一樣的困惑,而且Compose又極為重要,未來的Android開發(fā)肯定離不開Compose,所以我就想著寫一本書來幫助廣大開發(fā)者快速入門Compose并能夠?qū)嶋H使用。
我長期在CSDN和掘金等技術(shù)網(wǎng)站上發(fā)表技術(shù)文章,而且得到了大量開發(fā)者的認(rèn)可,還被CSDN評(píng)為了博客專家,這幾年中撰寫了上百篇技術(shù)文章,本以為自己的寫作經(jīng)驗(yàn)已經(jīng)足夠,寫一本書應(yīng)該不是什么難事,但真正動(dòng)筆才發(fā)現(xiàn)其中的艱辛。平時(shí)寫博客的時(shí)候可以隨心所欲地寫,想到哪里寫哪里,哪里理解深刻寫哪里,但寫書和寫博客很不一樣,寫書需要從頭到尾系統(tǒng)地進(jìn)行講解,而且邏輯需要更加縝密,一些細(xì)節(jié)必須考慮周全。
本書內(nèi)容
本書一共分為10章,歸納如下。
第1章介紹Compose的優(yōu)點(diǎn)以及搭建開發(fā)Compose的環(huán)境,兼顧了Windows和Mac平臺(tái),然后回顧C(jī)ompose中用到的Kotlin知識(shí)。
第2章創(chuàng)建并解釋第一個(gè)Compose應(yīng)用程序,然后詳細(xì)介紹Compose的編程思想。本章內(nèi)容比較難懂,大家可以先看后面的章節(jié),之后翻回來看會(huì)有更大的收獲。
第3章介紹Compose中的一些簡單控件,比如Text、Button、Image等,內(nèi)容比較簡單。
第4章介紹Compose中的布局。Compose中的布局和Android View中的布局基本對(duì)應(yīng),包括線性布局、幀布局、約束布局等。本章內(nèi)容比較重要,學(xué)好布局方式才能更加輕松地應(yīng)對(duì)實(shí)際工作中的各種場景。
第5章介紹Compose中的一些復(fù)雜控件,比如LazyColumn相當(dāng)于Android View中的RecyclerView。學(xué)會(huì)本章內(nèi)容,我們就可以使用Compose進(jìn)行一些簡單的開發(fā)了。
第6章介紹Compose中的自定義View。在Android View中自定義View并不簡單,但Compose幫我們做好了封裝,使得自定義View變得不再困難。學(xué)會(huì)本章內(nèi)容,就可以繪制一些常用的自定義View了。
第7章介紹Compose中的動(dòng)畫和手勢(shì)操作。Compose對(duì)此做好了封裝,使我們可以更加簡單地使用動(dòng)畫和手勢(shì)。
第8章介紹Compose和其他Jetpack庫的搭配使用,包括我們熟悉的LiveData、ViewModel、Navigation等。
第9章介紹Compose如何在之前的項(xiàng)目中使用,在Compose中如何使用Android View,以及在Compose中如何進(jìn)行屏幕適配。
第10章帶大家從頭到尾完整地開發(fā)一個(gè)簡單的項(xiàng)目,其中用到了之前章節(jié)中講到的大部分內(nèi)容,可以幫助大家加深對(duì)Compose的理解。
資源下載
為了方便大家的學(xué)習(xí),本書提供了書中所有項(xiàng)目的源碼1,但還是建議先手寫一遍再看源碼,這樣更能加深對(duì)代碼的理解。
我的CSDN博客Zhujiang和公眾號(hào)“江江安卓”會(huì)堅(jiān)持更新Android相關(guān)的技術(shù)文章,歡迎大家訪問交流。
本書勘誤
盡管我已對(duì)全書進(jìn)行了仔細(xì)的校對(duì),但書中難免會(huì)存在一些未發(fā)現(xiàn)的錯(cuò)誤,如果大家發(fā)現(xiàn)錯(cuò)誤,歡迎到我的CSDN博客或公眾號(hào)中留言,錯(cuò)誤被確認(rèn)后會(huì)提交到圖靈社區(qū)本書主頁。
致謝
在這段時(shí)間,幾乎我所有的業(yè)余時(shí)間都用來編寫此書。感謝我的家人,沒有他們的支持我不可能完成此書的創(chuàng)作。
感謝我的女朋友星,在我寫書期間她給了我很多鼓勵(lì)及支持,讓我有動(dòng)力完成此書。
感謝在我的學(xué)習(xí)過程中與我探討技術(shù)的各位同事及朋友,他們給了我一些創(chuàng)作的思路及建議。
感謝王軍花編輯,她在書稿的審核過程中提供了非常多的建議。
感謝為本書做出貢獻(xiàn)的每一個(gè)人!
1請(qǐng)?jiān)L問圖靈社區(qū)本書主頁獲取隨書資源。——編者注
- Oracle VM Manager 2.1.2
- AI圖像處理:Photoshop+Firefly后期處理技術(shù)基礎(chǔ)與實(shí)戰(zhàn)
- Adobe創(chuàng)意大學(xué)InDesign CS5 版式設(shè)計(jì)師標(biāo)準(zhǔn)實(shí)訓(xùn)教材
- 邊做邊學(xué):Photoshop+CorelDRAW綜合實(shí)訓(xùn)教程
- Cinema 4D電商美工與視覺設(shè)計(jì)案例教程(培訓(xùn)教材版)
- 中文版Illustrator CC 2018基礎(chǔ)培訓(xùn)教程
- AutoCAD 2018中文版基礎(chǔ)教程
- 通達(dá)信炒股軟件從入門到精通(第2版)
- Photoshop CC UI設(shè)計(jì)標(biāo)準(zhǔn)培訓(xùn)教程
- Vue.js快速入門
- 中文版Photoshop CS6從新手到高手·全彩版
- AutoCAD 2022中文版完全自學(xué)一本通
- CorelDRAW X6平面設(shè)計(jì)與制作案例教程
- Illustrator平面設(shè)計(jì)應(yīng)用教程
- WS/BPEL 2.0 for SOA Composite Applications with Oracle SOA Suite 11g