Mẹo nhỏ: Để tìm kiếm chính xác các bài viết của Vuihecungchocopie.vn, hãy search trên Google với cú pháp: "Từ khóa" + "vuihecungchocopie". (Ví dụ: công thức giải rubik 3x3 vuihecungchocopie). Tìm kiếm ngay
9 lượt xem

RxJava & RxAndroid những khái niệm cơ bản

Bạn đang xem: RxJava & RxAndroid những khái niệm cơ bản Tại Vuihecungchocopie                        

Bạn đang quan tâm đến RxJava & RxAndroid những khái niệm cơ bản phải không? Nào hãy cùng Vuihecungchocopie đón xem bài viết này ngay sau đây nhé, vì nó vô cùng thú vị và hay đấy!

1. Mở.

rxjava đã xuất hiện từ lâu và hầu như mọi người đều đã nghe nói về những khả năng tuyệt vời của nó. Họ đã nghe nói về nó, nhưng chưa sử dụng nó. bạn có phải là một trong số họ không? Nhiều người đọc nhiều tài liệu thấy khó, cũng có người ngại bắt đầu cái gì mới thấy khó hơn ^^. Vì vậy, trong bài viết này, tôi sẽ giới thiệu những điều cơ bản về rxjava rxandroid theo cách đơn giản nhất có thể.

Được rồi, trước tiên, hãy bắt đầu bằng cách giải thích lý thuyết cơ bản về lập trình phản ứng:

Bạn đang xem: Rxjava la gi

2. Lập trình phản ứng là gì?

Lập trình phản ứng về cơ bản là lập trình không đồng bộ dựa trên sự kiện. Mọi thứ bạn thấy là một luồng dữ liệu không đồng bộ có thể quan sát được và hành động cần thực hiện khi nó tạo ra một giá trị. Bạn có thể tạo luồng dữ liệu này từ bất kỳ thứ gì: thay đổi biến, sự kiện nhấp chuột, lệnh gọi http, kho dữ liệu, lỗi, có thể không có gì. Khi nói đến không đồng bộ, có nghĩa là mỗi mã mô-đun, mỗi mô-đun chạy trên một luồng riêng, từ đó thực thi nhiều khối mã đồng thời. Một ưu điểm của tính không đồng bộ là khi mỗi tác vụ đang chạy trên luồng riêng của nó, tất cả các tác vụ có thể được bắt đầu cùng một lúc và thời gian hoàn thành các tác vụ nhanh hơn so với khi chúng ta thực hiện tuần tự. Đối với ứng dụng dành cho thiết bị di động, khi các tác vụ chạy trên chuỗi nền, bạn có thể đạt được trải nghiệm người dùng liền mạch mà không chặn chuỗi chính.

Đối với một ví dụ đơn giản x = y + z, trong đó tổng của y và z được gán cho x. Trong lập trình phản ứng, khi giá trị của y thay đổi, x sẽ tự động thay đổi mà không cần thực hiện lại câu lệnh x = y + z. Điều này có thể đạt được bằng cách lắng nghe và quan sát các giá trị y và z.

XEM THÊM:  Hoa Vô Ưu ( Hoa Sala ) và Truyền Thuyết Liên Quan Đến Đức Phật

Một mảng có thể là một luồng dữ liệu và mỗi hành động có thể được thực thi khi mỗi phần tử của mảng được phát ra. Ví dụ: có thể bạn muốn lọc các số chẵn và bỏ qua các số lẻ. Điều này có thể thực hiện được khi bạn thực hiện các vòng lặp thông thường và các câu lệnh điều kiện. Nhưng trong lập trình phản ứng, bạn có thể làm điều này theo một cách khác. Khi bạn bắt đầu một ứng dụng bằng lập trình phản ứng, cách bạn chọn kiến ​​trúc và viết mã của mình hoàn toàn khác so với trước đây. Các ứng dụng rất mạnh khi bạn sử dụng kiến ​​trúc sạch, mvp, mvvm ….

3. Mở rộng quy mô phản ứng.

Tiện ích mở rộng phản ứng ( Reativex hoặc rx ) là một thư viện tuân theo các quy tắc của lập trình phản ứng, tức là nó tạo ra không đồng bộ và dựa trên sự kiện Quá trình mà một chương trình sử dụng một chuỗi có thể quan sát được. Các thư viện này cung cấp một tập hợp các giao diện và phương pháp giúp các nhà phát triển viết mã một cách đơn giản và gọn gàng hơn.

rx kết hợp những ý tưởng tốt nhất về mẫu Trình quan sát, mẫu trình lặp và lập trình chức năng.

RxJava & RxAndroid những khái niệm cơ bản image 1

tiện ích mở rộng phản ứng hỗ trợ nhiều ngôn ngữ như c ++ (rxcpp), c # (rx.net), java (rxjava), kotlin (rxkotlin) swift (rxswift), … chúng ta nên đặc biệt chú ý đến

cặp mở rộng phản ứng strong> rxjava và rxandroid .

Xem thêm: Trong đó tiếng Anh là gì? Ví dụ cách sử dụng từ này?

RxJava & RxAndroid những khái niệm cơ bản image 2

4. Rxjava là gì?

rxjava là một trong những phần mở rộng phản ứng cho ngôn ngữ java. Về cơ bản nó là một thư viện tuân theo mô hình quan sát viên. Bạn có thể tạo bất kỳ luồng dữ liệu không đồng bộ nào trên bất kỳ luồng nào, chuyển đổi dữ liệu và dữ liệu này để người quan sát sử dụng trên bất kỳ luồng nào. Thư viện cung cấp nhiều toán tử tuyệt vời như ánh xạ, kết hợp, hợp nhất, bộ lọc, v.v. có thể áp dụng cho các luồng dữ liệu.

XEM THÊM:  Driver Booster là gì ? Giới thiệu và đánh giá phần mềm Driver Booster

5. Rxandroid là gì?

rxandroid là loại rx cho nền tảng android. Nó bao gồm rxjava với một số lớp được thêm vào. Cụ thể hơn, bộ lập lịch được giới thiệu trong rxandroid (androidschedulers.mainthread ()) đóng một vai trò quan trọng trong việc hỗ trợ đa luồng trong các ứng dụng android. Người lập lịch về cơ bản quyết định. Có nhiều loại bộ lập lịch có sẵn, nhưng Schedrs.io () và androidschedulers.mainthread () được sử dụng phổ biến nhất:

Schedrs.io () Khi sử dụng nó, nó không sử dụng cpu, nó thực hiện các tác vụ chuyên sâu như cuộc gọi mạng, đọc đĩa / tệp, cơ sở dữ liệu … nó có thể bảo trì Thread Pool.

androidschedulers.mainthread () Nó cung cấp quyền truy cập vào chuỗi chính / chuỗi ui. Thông thường cập nhật giao diện hoặc tương tác người dùng xảy ra trên chủ đề này. Chúng tôi đã không thực hiện bất kỳ công việc chuyên sâu nào về chủ đề này vì nó sẽ làm hỏng ứng dụng hoặc anr.

Schedrs.newthread () hãy sử dụng nó, sau đó mỗi luồng sẽ được tạo mỗi khi tác vụ được lên lịch. Phương pháp này thường không được khuyến khích trừ khi công việc rất dài. Các luồng được tạo bằng newthread () không được sử dụng lại.

Schedrs.computation () có thể rất tốn CPU, chẳng hạn như xử lý dữ liệu lớn, xử lý bitmap, v.v. Số luồng được tạo bằng bộ lập lịch này phụ thuộc hoàn toàn vào số lõi cpu.

Schedrs.single () Trình lập lịch này sẽ thực thi tất cả các tác vụ theo thứ tự chúng đã được thêm vào. Điều này có thể cần thiết trong một số trường hợp yêu cầu đặt hàng.

Schedrs.im Instant () thực thi đồng bộ các tác vụ ngay lập tức bằng cách chặn chuỗi chính.

XEM THÊM:  tổ hợp môn a00 là gì

Xem thêm: Chatroulette – Con quỷ đội lốt 'cơn sốt' truyền thông

calendarrs.trampoline () Nó thực hiện các tác vụ LIFO. Bằng cách giới hạn số luồng nền xuống 1, tất cả các tác vụ đã lên lịch sẽ được thực thi từng tác vụ một.

Schedrs.from () Phương pháp này cho phép tạo các bộ lập lịch từ trình thực thi bằng cách giới hạn số lượng luồng cần tạo. Khi nhóm luồng đầy, các tác vụ sẽ được xếp hàng đợi.

Chúng tôi có những điều cơ bản mà chúng tôi cần. Bây giờ chúng ta hãy bắt đầu với một số khái niệm rxjava chính mà mọi người nên biết.

6. khái niệm cơ bản về rxjava: có thể quan sát, người quan sát

rxjava bao gồm hai thành phần chính, có thể quan sát người quan sát . Ngoài ra, chúng tôi cần xử lý một số thứ khác như bộ lập lịch, nhà điều hành và đăng ký.

có thể quan sát được. là một luồng dữ liệu thực hiện một việc gì đó và phát ra dữ liệu

RxJava & RxAndroid những khái niệm cơ bản image 1

quan sát viên. là một người nghe có thể quan sát được. Nó nhận dữ liệu từ phát ra có thể quan sát được.

Đăng ký. Sự kết hợp giữa một người có thể quan sát và một người quan sát được gọi là một đăng ký. Có thể có nhiều người quan sát đăng ký chỉ một người có thể quan sát được.

toán tử / chuyển đổi Toán tử cũng có thể được gọi là biến đổi, bởi vì công việc của nó là biến đổi dữ liệu được gửi bởi người quan sát trước khi nó được nhận (nhận) bởi người quan sát

Trình lập lịch biểu. Như đã đề cập ở trên, bộ lập lịch là tên quyết định luồng nào mà một người có thể quan sát sẽ phát ra dữ liệu và luồng nào một người quan sát sẽ nhận trên nền hoặc luồng chính, v.v.

Xem thêm: Ali Hoàng Dương bị nghi ngờ dựa dẫm quan hệ để được làm HLV Giọng hát Việt nhí

Công khai: VUIHECUNGCHOCOPIE.VN là trang web Tổng hợp Ẩm Thực - Game hay và Thủ Thuật hàng đầu VN, thuộc Chocopie Vietnam. Mời thính giả đón xem.

Chúng tôi trân trọng cảm ơn quý độc giả luôn ủng hộ và tin tưởng!

Trả lời

Email của bạn sẽ không được hiển thị công khai.