RxJava-Essentials-CN

RxJava Essentials 中文翻译版 仅供交流学习使用,严禁商业用途 http://rxjava.yuxingxin.com
  •  2,309 commits
  •  branch
  •  releases
  •  contributors
  1.  CSS 100.0%
CSS
New file Find file
 
HTTPS 
 
 
Download ZIP
Branch:  master 
New pull request
Latest commit ff8e905 12 hours ago  yuxingxin  Update book.json
styles Create styles/website.css 12 days ago
.gitignore GitBook Example 11 months ago
README.md Update README.md 2 days ago
REST_in_peace_rxjava_and_retrofit.md Update REST_in_peace_rxjava_and_retrofit.md 2 days ago
SUMMARY.md Update SUMMARY.md a day ago
a_few_more_examples.md Update a_few_more_examples.md 8 days ago
and_then_when.md Update and_then_when.md a day ago
app_structure.md Update app_structure.md 2 days ago
avoiding_blocking_io_operations.md Create avoiding_blocking_io_operations.md a day ago
book.json Update book.json 12 hours ago
buffer.md Update buffer.md a day ago
cast.md Update cast.md a day ago
chapter1.md Update chapter1.md a day ago
combinelatest.md Update combinelatest.md a day ago
combining_observables.md Update combining_observables.md 6 days ago
cover.jpg Create cover.jpg 12 days ago
creating_activity_class.md Update creating_activity_class.md 2 days ago
creating_an_observable_from_list.md Update creating_an_observable_from_list.md 8 days ago
creating_recyclerview_adapter.md Update creating_recyclerview_adapter.md a day ago
debounce.md Update debounce.md a day ago
elementat.md Update elementat.md a day ago
executing_a_network_task.md Update executing_a_network_task.md a day ago
filtering_a_sequence.md Update filtering_a_sequence.md a day ago
filtering_observables.md Update filtering_observables.md 7 days ago
first_and_last.md Update first_and_last.md a day ago
groupby.md Update groupby.md a day ago
handing_a_long_task.md Update handing_a_long_task.md a day ago
hello_reactive_world.md Update hello_reactive_world.md 9 days ago
join.md Update join.md a day ago
landing_in_the_java_world_-_netflix_rxjava.md Update landing_in_the_java_world_-_netflix_rxjava.md 11 days ago
let's_take_what_we_need.md Update let's_take_what_we_need.md a day ago
merge.md Update merge.md a day ago
microsoft_reactive_extensions.md Update microsoft_reactive_extensions.md 11 days ago
nonblocking_io_operations.md Update nonblocking_io_operations.md a day ago
observable.md Update observable.md 9 days ago
once_and_only_once.md Update once_and_only_once.md a day ago
our_first_observable.md Update our_first_observable.md a day ago
retrofit.md Update retrofit.md 2 days ago
rxjava.jpg Create rxjava.jpg 12 days ago
rxjava_observer_pattern_toolkit.md Update rxjava_observer_pattern_toolkit.md 10 days ago
sampling.md Update sampling.md a day ago
schedulers.md Update schedulers.md 3 days ago
schedulers_defeating_the_android_mainthread_issue.md Update schedulers_defeating_the_android_mainthread_issue.md 5 days ago
skip_and_skiplast.md Update skip_and_skiplast.md a day ago
start_the_engine.md Update start_the_engine.md a day ago
startwith.md Update startwith.md a day ago
strictmode.md Update strictmode.md 3 days ago
subject_observable_observer.md Update subject_observable_observer.md 9 days ago
subscribeon_and_observeon.md Update subscribeon_and_observeon.md a day ago
summary1.md Create summary1.md 11 days ago
summary2.md Update summary2.md 9 days ago
summary3.md Update summary3.md 8 days ago
summary4.md Update summary4.md 7 days ago
summary5.md Update summary5.md 5 days ago
summary6.md Update summary6.md 5 days ago
summary7.md Create summary7.md a day ago
summary8.md Update summary8.md 2 days ago
switch.md Update switch.md a day ago
the_*map_family.md Update the_*map_family.md a day ago
the_observer_pattern.md Update the_observer_pattern.md a day ago
the_project_goal.md Update the_project_goal.md 2 days ago
timeout.md Update timeout.md a day ago
transforming_observables.md Update transforming_observables.md 7 days ago
utils.md Update utils.md 8 days ago
what_is_different_in_rxjava.md Update what_is_different_in_rxjava.md 11 days ago
when_do_you_use_the_Observer_pattern.md Update when_do_you_use_the_Observer_pattern.md 10 days ago
why_observables.md Update why_observables.md 11 days ago
window.md Update window.md a day ago
zip.md Update zip.md a day ago

 README.md

RxJava Essentials 中文翻译版

本书是对Ivan.Morgillo所写一书的中文翻译版本,仅供交流学习使用,严禁商业用途。

本书内容有

1.RX-from .NET to RxJava

本章带你进入reactive的世界。我们会比较reactive 方法和传统方法,进而探索它们之间的相似和不同的地方。

2.Why Observables?

本章会对观察者模式做一个概述,如何实现它以及怎样用RxJava来进行扩展,被观察者是什么,以及被观察者如何与迭代联系到一起的。

3.Hello Reactive World

本章会利用我们所学的知识来创建第一个reactive Android应用。

4.Filtering Observables

本章我们会研究Observable序列的本质:filtering.我们也将学到如何从一个发出的Observable中选取我们想要的值,如何获得一个有限的数值,如何处理溢出的场景,以及更多有用的技巧。

5.Transforming Observables

本章将讲述如何通过变换Observable序列来创建出我们所需要的序列。

6.Combining Observables

本章将研究与函数结合,同时也会学到当创建我们想要的Observable时又如何与多个Observable协同工作。

7.Schedulers-Defeating the Android MainThread Issue

本章将介绍如何使用RxJava Schedulers 来处理多线程和并发编程。我们也将用reactive的方式来创建网络操作、内存访问、耗时处理。

8.REST in peace-RxJava and Retrofit

本章教会你如何让Square公司的Retrofit和RxJava结合来一起使用,来创建一个更高效的REST客户端程序。

学习这本书你需要做的:

为了能够运行书中的例子,你需要一个标准的Android开发环境:

  • Android Studio 或 Intellij IDEA
  • Android SDK
  • Java SDK

作为一个纯粹的Java开发者,当你接触RxJava时,很明显你需要一个你喜欢Java编辑器和一个标准的Java JDK 环境。这本书中的一些图表来自http://rxmarbles.com 和 http://reactivex.io。

这本书适合哪些人看

如果你是一名有经验的Java开发者,reactive编程将会在后端系统中给你一种新的学习扩展和并发的方式,而这不需要更换开发语言。这本书将帮助你学习RxJava的核心方面,也能帮助你克服Android平台局限性从而创建一个基于事件驱动的,响应式的,流畅体验的Android应用。

一些约定

在这本书中,你会发现许多用来区分不同信息的文本样式,这列举这些样式的一些例子和对他们释义的说明。

以下列举了些文本中的代码、数据库表名、文件夹名、文件名、文件扩展名、路径名、伪造的URL、用户输入、Twitter handles :“正如你看到的那样:zip()有三个参数:两个Observable和一个Func2,正如所预期的一样”

如下面的一块代码:

public Observable<List<User>> getMostPopularSOusers(int howmany){
        return mStackExchangeService
                .getMostPopularSOusers(howmany)
                .map(UsersResponse::getUsers)
                .subscribeOn(Schedulers.io())
               .observeOn(AndroidSchedulers.mainThread());
}

当我们想对代码块的某一部分引起你的注意时,会在对应的那一行或列设置为粗体

public Observable<List<User>> getMostPopularSOusers(int howmany){
        return mStackExchangeService
                .getMostPopularSOusers(howmany)
                .map(UsersResponse::getUsers)   //也就是这句加粗显示
                .subscribeOn(Schedulers.io())
               .observeOn(AndroidSchedulers.mainThread());
}

新的项目重要的词语都会以粗体显示。你在屏幕看到的字,例如在菜单或者对话框,会以类似这样的形式出现在文本中:“We will just need a fancy progress bar and a DOWNLOAD button.”

Note

类似这样的是警告或者出现在框中重要提示。

Tip 类似这样的是提示和技巧

读者反馈

发送邮件到 [email protected] 在你的邮件主题中要提到书的标题。

如果你有擅长的话题并且你对写作感兴趣或者想出书的话,可以看我们作者指南:http://www.packtpub.com/authors

下载样例代码

你可以从你在http://www.packtpub.com的账户中下载所有你购买Packt 出版的图书的样例代码,如果你从别处购买这本书的话,你可以访问:http://www.packtpub.com/support 注册并让文件用邮件直接发给你。

你可能感兴趣的:(RxJava-Essentials-CN)