http://wiki.jikexueyuan.com/project/rxjava/images/rxjava.jpg" alt="" />
本書是對(duì)Ivan.Morgillo所寫一書的中文翻譯版本,僅供交流學(xué)習(xí)使用,嚴(yán)禁商業(yè)用途。另外推薦一本姊妹篇《Learning Reactive Programming》。
本章帶你進(jìn)入reactive的世界。我們會(huì)比較reactive 方法和傳統(tǒng)方法,進(jìn)而探索它們之間的相似和不同的地方。
本章會(huì)對(duì)觀察者模式做一個(gè)概述,如何實(shí)現(xiàn)它以及怎樣用RxJava來進(jìn)行擴(kuò)展,被觀察者是什么,以及被觀察者如何與迭代聯(lián)系到一起的。
本章會(huì)利用我們所學(xué)的知識(shí)來創(chuàng)建第一個(gè)reactive Android應(yīng)用。
本章我們會(huì)研究Observable序列的本質(zhì):filtering.我們也將學(xué)到如何從一個(gè)發(fā)出的Observable中選取我們想要的值,如何獲得一個(gè)有限的數(shù)值,如何處理溢出的場(chǎng)景,以及更多有用的技巧。
本章將講述如何通過變換Observable序列來創(chuàng)建出我們所需要的序列。
本章將研究與函數(shù)結(jié)合,同時(shí)也會(huì)學(xué)到當(dāng)創(chuàng)建我們想要的Observable時(shí)又如何與多個(gè)Observable協(xié)同工作。
本章將介紹如何使用RxJava Schedulers 來處理多線程和并發(fā)編程。我們也將用reactive的方式來創(chuàng)建網(wǎng)絡(luò)操作、內(nèi)存訪問、耗時(shí)處理。
本章教會(huì)你如何讓Square公司的Retrofit和RxJava結(jié)合來一起使用,來創(chuàng)建一個(gè)更高效的REST客戶端程序。
為了能夠運(yùn)行書中的例子,你需要一個(gè)標(biāo)準(zhǔn)的Android開發(fā)環(huán)境:
作為一個(gè)純粹的Java開發(fā)者,當(dāng)你接觸RxJava時(shí),很明顯你需要一個(gè)你喜歡Java編輯器和一個(gè)標(biāo)準(zhǔn)的Java JDK 環(huán)境。這本書中的一些圖表來自http://rxmarbles.com 和 http://reactivex.io。
如果你是一名有經(jīng)驗(yàn)的Java開發(fā)者,reactive編程將會(huì)在后端系統(tǒng)中給你一種新的學(xué)習(xí)擴(kuò)展和并發(fā)的方式,而這不需要更換開發(fā)語言。這本書將幫助你學(xué)習(xí)RxJava的核心方面,也能幫助你克服Android平臺(tái)局限性從而創(chuàng)建一個(gè)基于事件驅(qū)動(dòng)的,響應(yīng)式的,流暢體驗(yàn)的Android應(yīng)用。
在這本書中,你會(huì)發(fā)現(xiàn)許多用來區(qū)分不同信息的文本樣式,這列舉這些樣式的一些例子和對(duì)他們釋義的說明。
以下列舉了些文本中的代碼、數(shù)據(jù)庫表名、文件夾名、文件名、文件擴(kuò)展名、路徑名、偽造的URL、用戶輸入、Twitter handles :“正如你看到的那樣:zip()有三個(gè)參數(shù):兩個(gè)Observable和一個(gè)Func2”
如下面的一塊代碼:
public Observable<List<User>> getMostPopularSOusers(int howmany){
return mStackExchangeService
.getMostPopularSOusers(howmany)
.map(UsersResponse::getUsers)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
}
當(dāng)我們想對(duì)代碼塊的某一部分引起你的注意時(shí),會(huì)在對(duì)應(yīng)的那一行或列設(shè)置為粗體
public Observable<List<User>> getMostPopularSOusers(int howmany){
return mStackExchangeService
.getMostPopularSOusers(howmany)
.map(UsersResponse::getUsers) //也就是這句加粗顯示
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
}
新的項(xiàng)目和重要的詞語都會(huì)以粗體顯示。你在屏幕看到的字,例如在菜單或者對(duì)話框,會(huì)以類似這樣的形式出現(xiàn)在文本中:“We will just need a fancy progress bar and a DOWNLOAD button.
Note
類似這樣的是警告或者出現(xiàn)在框中的重要提示。
Tip 類似這樣的是提示和技巧
發(fā)送郵件到 feedback@packtpub.com 在你的郵件主題中要提到書的標(biāo)題。
如果你有擅長的話題并且你對(duì)寫作感興趣或者想出書的話,可以看我們作者指南:http://www.packtpub.com/authors
你可以從你在http://www.packtpub.com的賬戶中下載所有你購買Packt 出版的圖書的樣例代碼,如果你從別處購買這本書的話,你可以訪問:http://www.packtpub.com/support 注冊(cè)并將文件用附件直接發(fā)給你。
RxJava Essentials 中文翻譯版 僅供交流學(xué)習(xí)使用,嚴(yán)禁商業(yè)用途。轉(zhuǎn)載請(qǐng)聯(lián)系作者yuxingxin。