Android: Observer (Cơ bản)

Có những lúc mình viết tất cả code vào class cài đặt Activity, thấy rối quá rồi viết nó ra hàm của lớp khác rồi trong những lúc cần phải load dữ liệu thì phải đợi load hết rồi mới đẩy liên giao diện, thế thì lại lâu quá, mục đích mong muốn là có thông tin là đẩy lên giao diện liền không cần phải load hết rồi mới đẩy lên, và sau thời gian tìm hiểu thì chọn được mẫu Observer trong Design Pattern để cài đặt.

Trong bài này sẽ nói về cách cài đặt mà Java đã hỗ trợ sẵn.

Bước 1: Trong lớp cài đặt Activity sẽ implement lại interface Observer và overide lại hàm update(để đó cài đặt sau).

Bước 2: Tạo ra lớp server để đẩy thông tin lên cho giao diện, lớp này sẽ extends lại lớp Observable.

Ở đây mình tạo một Thread để cho nó chạy dưới background, để UI không bị đóng băng

Bước 3: Thông báo cho giao diện biết để cập nhật dữ liệu

Bước 4: Thêm một Observer(chính là Activity mình muốn lắng nghe) vào lớp server để lắng nghe

Bước 5: Cài đặt hàm cập nhật trên giao diện

Mình dùng Handler gọi hàm post để cập nhật giao diện, khi post thì nó truyền vào hàng đợi cho UI cập nhật.

Source code: https://github.com/VoNam/Observer