viblo.asia

Eager vs. Lazy trong RxJava

Trong vài năm trở lại đây, RxJava đang dần trở thành thành phần chính trong việc phát triển phần mềm Android. RxJava có một learning curve/đường cong học tập rất cao, và một phần là bởi vì bạn thực sự đang học hai điều khác nhau cùng một lúc. Đầu tiên là việc áp dụng các operator cho một luồng các giá trị. Điều này bao gồm thực hiện các tác vụ thông thường trong RxJava mà hầu hết mọi người đều quen thuộc. Observable.just(1, 2,...

viblo.asia

RxJava & RxAndroid - Phần 2 - Examples - Use Rx in Android

Khi bạn đã có kiến thức về Reactive Programming, RxJava, RxAndroid đã giới thiệu ở Phần 1. Chúng ta hãy đi vào một số ví dụ code để hiểu các khái niệm tố hơn. 1. Adding Dependencies Để bắt đầu thì bạn cần thêm các dependencies của RxJava và RxAndroid vào project ở file build.gradle và sync chúng. // RxJava implementation 'io.reactivex.rxjava2:rxjava:2.x.y' // RxAndroid implementation 'io.reactivex.rxjava2:rxandroid:2.z.t' Hiện tại thì version mới nhất của RxJava là...

viblo.asia

Rx java 2.0

ở bài này mình nới về rxjava cụ thể cho android, nên các khái niệm các thuật ngữ để dùng cho lập trình android nhé! 1. Các khái niệm reactive (phản ứng): trong lập trình 1 hành động xảy ra thì hàn động kia phải biết ta gọi là phản ứng observables (đài quan sát): nới quan sát lắng nghe sự thay đổi subscribers (thuê bao): nới nhận tín hiệu từ đài quan sát 2. Lập trình phản ứng với rxjava 2.0 Phản ứng khi nào: khia ta hận được dữ...

baeldung

RxJava Hooks

1. Overview In this tutorial, we’re going to learn about RxJava hooks. We’ll be creating short examples to demonstrate how the hooks work in different situations. 2. What are RxJava Hooks? As the name depicts, RxJava hooks allow us to hook into the lifecycle of Observable, Completable, Maybe, Flowable, and Single. In addition, RxJava allows us to add lifecycle hooks to the schedulers returned by Schedulers. Furthermore, we can specify a global error handler also using the hooks. In RxJava 1, the class RxJavaHooks is used to define the...

viblo.asia

RxJava Subject — Publish, Replay, Behavior and Async Subject

RxJava Subject — Publish, Replay, Behavior and Async Subject Sau đây, chúng ta sẽ tìm hiểu về các Subject có sẵn trong RxJava: Publish Subject Replay Subject Behavior Subject Async Subject Vậy Subject là gì? A Subject is a sort of bridge or proxy that is available in some implementations of ReactiveX that acts both as an observer and as an Observable. Because it is an observer, it can subscribe to one or more Observables, and because it is an Observable, it can pass through the items it observes by re-emitting them, and...

viblo.asia

RxJava Operators – Just, From, Range and Repeat

Giới thiệu Như các bạn đã biết về Operator dùng để tạo ra Observable. Ngoài ra thì chúng ta còn có rất nhiều Operator khác và được ReactiveX cho vào các category như Transformation, Just, From, Range and Repeat, .. nhằm phục vụ cho các use case khác nhau. Hôm này mình xin tìm hiểu về các case Just, From, Range and Repeat chi tiết hơn nhé. 1. Just() Toán tử Just () lấy danh sách các đối số và chuyển đổi các mục thành các mục có thể quan sát được. Nó...

viblo.asia

[Java] Tìm hiểu các Observable/Observer của RxJava

Như chúng ta đã biết thì một Observable sẽ phát ra một sự kiện hoặc dữ liệu nào đó, còn một Observer sẽ tiếp nhận sự kiện/dữ liệu đó bằng cách đăng ký lắng nghe Observable. Trong RxJava có rất nhiều loại Observable và cũng có nhiều cách để tạo ra một Observable. Ở bài viết lần này chúng ta sẽ cùng nhau tìm hiểu về các Observable để nắm rõ được cách tạo và cách sử dụng của chúng cho từng trường hợp khác nhau. Chúng ta sẽ...

viblo.asia

[Android] Kết hợp Room Database và Rxjava

Giới Thiệu Room không phải là một hệ thống cơ sở dữ liệu mới . Room là một abstract layer cho phép truy cập cơ sở dữ liệu mạnh mẽ hơn trong khi khai thác toàn bộ sức mạnh của SQLite., nó được xây dựng để giúp cho việc xây dựng các ứng dụng android trở nên dẽ dàng và nhanh chóng hơn Room bao gồm ba thành phần chính đó là : Database, DAO (Data Access Object), và Entity Database: Được sử dụng để tạo một database bằng việc kế thừa...

baeldung

Converting Synchronous and Asynchronous APIs to Observables using RxJava2

1. Overview In this tutorial, we’re going to learn how to transform traditional synchronous and asynchronous APIs into Observables using RxJava2 operators. We’ll create a few simple functions that will help us discuss these operators in detail. 2. Maven Dependencies First, we have to add RxJava2 and RxJava2Extensions as Maven dependencies: <dependency> <groupId>io.reactivex.rxjava2</groupId> <artifactId>rxjava</artifactId> <version>2.2.2</version> </dependency> <dependency> ...