JavaScript is required

Để chuyển dữ liệu phức tạp giữa các Activity trong Android, ta thường sử dụng đối tượng nào?

A.

Parcelable

B.

Serializable

C.

Bundle

D.

Intent

Trả lời:

Đáp án đúng: A


Câu hỏi này kiểm tra kiến thức về cách truyền dữ liệu giữa các Activity trong Android, đặc biệt là khi dữ liệu đó phức tạp hơn kiểu dữ liệu cơ bản. Dưới đây là phân tích chi tiết từng đáp án:

  • A. Parcelable: Đây là một interface của Android cho phép bạn chuyển đổi một đối tượng thành một gói dữ liệu (Parcel) và ngược lại. Parcelable thường được sử dụng để truyền các đối tượng phức tạp giữa các thành phần khác nhau của ứng dụng, vì nó nhanh hơn Serializable.
  • B. Serializable: Đây là một interface chuẩn của Java cho phép chuyển đổi một đối tượng thành một chuỗi byte và ngược lại. Serializable có thể được sử dụng để truyền dữ liệu giữa các Activity, nhưng nó chậm hơn Parcelable.
  • C. Bundle: Đây là một lớp (class) trong Android dùng để chứa các cặp key-value, trong đó key là một chuỗi và value có thể là các kiểu dữ liệu khác nhau (bao gồm cả các đối tượng Parcelable hoặc Serializable). Bundle thường được sử dụng để truyền dữ liệu giữa các Activity thông qua Intent.
  • D. Intent: Đây là một cơ chế để thực hiện một hành động. Intent có thể được sử dụng để khởi chạy một Activity mới, gửi một broadcast hoặc bắt đầu một service. Intent có thể mang theo dữ liệu giữa các Activity bằng cách sử dụng Bundle.

Khi cần truyền dữ liệu phức tạp (ví dụ: đối tượng của một lớp tự định nghĩa) giữa các Activity, chúng ta thường sử dụng Parcelable hoặc Serializable để chuyển đổi đối tượng thành dạng có thể truyền qua Intent bằng cách đặt nó vào một Bundle. Tuy nhiên, Bundle đóng vai trò là nơi chứa dữ liệu, còn ParcelableSerializable là cơ chế để chuyển đổi dữ liệu phức tạp. Trong các đáp án trên, Bundle là đối tượng chứa dữ liệu được truyền.

Đáp án đúng nhất là C. Bundle, vì nó là đối tượng được sử dụng để chứa dữ liệu khi truyền giữa các Activity. Tuy nhiên, cần hiểu rõ rằng Parcelable và Serializable là các interface giúp các đối tượng phức tạp có thể được đặt vào Bundle để truyền đi.

Câu hỏi liên quan