Nếu dịch vụ của bạn là riêng tư đối với ứng dụng của riêng bạn và chạy trong cùng quy trình với ứng dụng khách (điều này là phổ biến), bạn nên tạo giao diện của mình bằng cách mở rộng lớp ________?
Trả lời:
Đáp án đúng: B
Trong trường hợp dịch vụ và ứng dụng khách chạy trong cùng một quy trình, việc tạo giao diện bằng cách mở rộng lớp `Binder` là lựa chọn phù hợp nhất. `Binder` cho phép giao tiếp trực tiếp, hiệu quả giữa các thành phần trong cùng một quy trình mà không cần cơ chế IPC phức tạp như `Messenger` hay `AIDL` (thường dùng cho các quy trình khác nhau).
* **A. Messenger:** Thường được sử dụng cho giao tiếp liên tiến trình (inter-process communication) bất đồng bộ, không phù hợp khi dịch vụ và ứng dụng chạy trong cùng một quy trình.
* **B. Binder:** Là một cơ chế IPC (Inter-Process Communication) trong Android, cho phép các ứng dụng và dịch vụ giao tiếp với nhau. Khi chạy trong cùng một tiến trình, Binder cung cấp một cách hiệu quả để gọi các phương thức trực tiếp.
* **C. AIDL (Android Interface Definition Language):** Được sử dụng để định nghĩa giao diện cho các dịch vụ chạy trong các tiến trình khác nhau. Nó phức tạp hơn Binder thông thường và không cần thiết khi cả dịch vụ và ứng dụng đều chạy trong cùng một tiến trình.
Do đó, đáp án chính xác là B.





