{"id":13638965,"url":"https://github.com/yuxingxin/RxJava-Essentials-CN","last_synced_at":"2025-04-19T21:35:16.200Z","repository":{"id":95868119,"uuid":"48954956","full_name":"yuxingxin/RxJava-Essentials-CN","owner":"yuxingxin","description":"RxJava Essentials 中文翻译版 仅供交流学习使用，严禁商业用途 ","archived":false,"fork":false,"pushed_at":"2017-09-04T08:38:44.000Z","size":4049,"stargazers_count":1280,"open_issues_count":0,"forks_count":228,"subscribers_count":64,"default_branch":"master","last_synced_at":"2025-04-12T11:11:30.445Z","etag":null,"topics":["rxjava","rxjava-essentials"],"latest_commit_sha":null,"homepage":"https://rxjava.yuxingxin.com","language":"CSS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yuxingxin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-01-03T17:44:04.000Z","updated_at":"2025-03-04T07:31:01.000Z","dependencies_parsed_at":null,"dependency_job_id":"d14ae559-a991-4751-8e6a-93117c4203a4","html_url":"https://github.com/yuxingxin/RxJava-Essentials-CN","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yuxingxin%2FRxJava-Essentials-CN","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yuxingxin%2FRxJava-Essentials-CN/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yuxingxin%2FRxJava-Essentials-CN/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yuxingxin%2FRxJava-Essentials-CN/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yuxingxin","download_url":"https://codeload.github.com/yuxingxin/RxJava-Essentials-CN/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249690061,"owners_count":21311307,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["rxjava","rxjava-essentials"],"created_at":"2024-08-02T01:00:56.021Z","updated_at":"2025-04-19T21:35:16.194Z","avatar_url":"https://github.com/yuxingxin.png","language":"CSS","readme":"RxJava Essentials 中文翻译版\n=======\n\n![](images/rxjava.jpg)\n\n本书是对Ivan.Morgillo所写一书的中文翻译版本，仅供交流学习使用，严禁商业用途。另外推荐一本姊妹篇《Learning Reactive Programming》。\n\n* 《RxJava Essentials》[翻译中文版电子书](https://www.gitbook.com/book/yuxingxin/rxjava-essentials-cn/)\n\n* 《RxJava Essentials》一书作者[代码样例](https://github.com/hamen/rxjava-essentials)\n\n---\n\n# 本书内容有\n\n### **1.RX-from .NET to RxJava**\n\n\u003e 本章带你进入reactive的世界。我们会比较reactive 方法和传统方法，进而探索它们之间的相似和不同的地方。\n\n### **2.Why Observables?**\n\n\u003e 本章会对观察者模式做一个概述，如何实现它以及怎样用RxJava来进行扩展，被观察者是什么，以及被观察者如何与迭代联系到一起的。\n\n### **3.Hello Reactive World**\n\n\u003e 本章会利用我们所学的知识来创建第一个reactive Android应用。\n\n### **4.Filtering Observables**\n\n\u003e 本章我们会研究Observable序列的本质:filtering.我们也将学到如何从一个发出的Observable中选取我们想要的值，如何获得一个有限的数值，如何处理溢出的场景，以及更多有用的技巧。\n\n### **5.Transforming Observables**\n\n\u003e 本章将讲述如何通过变换Observable序列来创建出我们所需要的序列。\n\n### **6.Combining Observables**\n\n\u003e 本章将研究与函数结合，同时也会学到当创建我们想要的Observable时又如何与多个Observable协同工作。\n\n### **7.Schedulers-Defeating the Android MainThread Issue**\n\n\u003e 本章将介绍如何使用RxJava Schedulers 来处理多线程和并发编程。我们也将用reactive的方式来创建网络操作、内存访问、耗时处理。\n\n### **8.REST in peace-RxJava and Retrofit**\n\n\u003e 本章教会你如何让Square公司的Retrofit和RxJava结合来一起使用，来创建一个更高效的REST客户端程序。\n\n# 学习这本书你需要做的：\n\n为了能够运行书中的例子，你需要一个标准的Android开发环境：\n\n* Android Studio 或 Intellij IDEA\n* Android SDK\n* Java SDK\n\n作为一个纯粹的Java开发者，当你接触RxJava时，很明显你需要一个你喜欢Java编辑器和一个标准的Java JDK 环境。这本书中的一些图表来自http://rxmarbles.com 和 http://reactivex.io。\n\n# 这本书适合哪些人看\n\n如果你是一名有经验的Java开发者，reactive编程将会在后端系统中给你一种新的学习扩展和并发的方式，而这不需要更换开发语言。这本书将帮助你学习RxJava的核心方面,也能帮助你克服Android平台局限性从而创建一个基于事件驱动的，响应式的，流畅体验的Android应用。\n\n# 一些约定\n\n在这本书中，你会发现许多用来区分不同信息的文本样式，这列举这些样式的一些例子和对他们释义的说明。\n\n以下列举了些文本中的代码、数据库表名、文件夹名、文件名、文件扩展名、路径名、伪造的URL、用户输入、Twitter handles ：“正如你看到的那样：zip()有三个参数：两个Observable和一个Func2”\n\n如下面的一块代码：\n\n```java\npublic Observable\u003cList\u003cUser\u003e\u003e getMostPopularSOusers(int howmany){\n        return mStackExchangeService\n                .getMostPopularSOusers(howmany)\n                .map(UsersResponse::getUsers)\n                .subscribeOn(Schedulers.io())\n               .observeOn(AndroidSchedulers.mainThread());\n}\n```\n\n当我们想对代码块的某一部分引起你的注意时，会在对应的那一行或列设置为粗体\n\n```java\npublic Observable\u003cList\u003cUser\u003e\u003e getMostPopularSOusers(int howmany){\n        return mStackExchangeService\n                .getMostPopularSOusers(howmany)\n                .map(UsersResponse::getUsers)   //也就是这句加粗显示\n                .subscribeOn(Schedulers.io())\n               .observeOn(AndroidSchedulers.mainThread());\n}\n```\n\n**新的项目**和**重要的词语**都会以粗体显示。你在屏幕看到的字，例如在菜单或者对话框，会以类似这样的形式出现在文本中：“We will just need a fancy progress bar and a **DOWNLOAD** button.\n\n**Note**\n\n类似这样的是警告或者出现在框中的重要提示。\n\n**Tip**\n类似这样的是提示和技巧\n\n# 读者反馈\n\n发送邮件到 feedback@packtpub.com  在你的邮件主题中要提到书的标题。\n\n如果你有擅长的话题并且你对写作感兴趣或者想出书的话，可以看我们作者指南：http://www.packtpub.com/authors\n\n# 下载样例代码\n\n你可以从你在http://www.packtpub.com的账户中下载所有你购买Packt 出版的图书的样例代码，如果你从别处购买这本书的话，你可以访问：http://www.packtpub.com/support 注册并将文件用附件直接发给你。\n\n## 版权说明\n\nRxJava Essentials 中文翻译版 仅供交流学习使用，严禁商业用途。转载请联系作者[yuxingxin](https://github.com/yuxingxin)。","funding_links":[],"categories":["分类","Libs","书籍"],"sub_categories":["Rx/RxJava","\u003cA NAME=\"Books\"\u003e\u003c/A\u003eBooks","一些原理分析的文章"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyuxingxin%2FRxJava-Essentials-CN","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyuxingxin%2FRxJava-Essentials-CN","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyuxingxin%2FRxJava-Essentials-CN/lists"}