Giả sử bạn muốn bắt đầu một hoạt động mới và chuyển cho nó một số dữ liệu từ hoạt động hiện tại. Nếu dữ liệu thuộc loại nguyên thủy, bạn có thể chỉ cần sử dụng một ý định và thêm phần bổ sung, nhưng bạn sẽ làm điều này như thế nào đối với các cấu trúc dữ liệu phức tạp hơn như danh sách mảng hoặc đối tượng?
24
Truyền dữ liệu không thuộc loại nguyên thủy giữa các hoạt động trong Android

05:20:58 26/03/2023
24 hữu ích 0 bình luận 21k xem chia sẻ
2 trả lời 2
answer ![Lý Huy Tường]()
59

23:48:32 17/09/2009
Bạn có một vài lựa chọn:
- Bạn có thể bao bọc cấu trúc phức tạp hơn trong một lớp triển khai
Parcelable
giao diện, có thể được lưu trữ trong một lớp bổ sung - Bạn có thể bao bọc cấu trúc phức tạp hơn trong một lớp triển khai
Serializable
giao diện, có thể được lưu trữ trong một lớp bổ sung - Bạn sử dụng các thành viên dữ liệu tĩnh để chuyển nội dung xung quanh, vì tất cả chúng đều trong cùng một quy trình
- Bạn sử dụng bộ nhớ ngoài (tệp, cơ sở dữ liệu,
SharedPreferences
) - Như người vừa đăng đã lưu ý, hãy sử dụng một thành phần chung, chẳng hạn như tùy chỉnh
Application
hoặc địa phươngService
Những gì bạn không muốn làm là vượt qua những thứ lớn thông qua tính năng bổ sung. Ví dụ: nếu bạn đang tạo một ứng dụng lấy ảnh ra khỏi máy ảnh, bạn không muốn chuyển những ảnh đó vào các tính năng bổ sung - hãy sử dụng thành viên dữ liệu tĩnh (nghe hay quá). Ý định được thiết kế để hoạt động xuyên suốt quá trình, có nghĩa là có một số lượng sao chép dữ liệu được tiếp tục diễn ra, điều mà bạn muốn tránh khi không cần thiết cho những thứ lớn.
59 hữu ích 5 bình luận chia sẻ
answer ![Trần Trang Linh]()
2

23:46:08 17/09/2009
Một tùy chọn mà tôi biết là lưu trữ dữ liệu bạn đang sử dụng trong một đối tượng Ứng dụng mà tất cả các hoạt động của bạn có thể truy xuất từ ngữ cảnh.
Tôi cũng đã nghe nói về việc sử dụng Google Protocol Buffer để đạt được giải pháp hiệu suất cao hơn
2 hữu ích 1 bình luận chia sẻ
Xem nguồn: https://stackoverflow.com/questions/1441871/passing-data-of-a-non-primitive-type-between-activities-in-android

Không tìm thấy câu trả lời bạn tìm kiếm? Duyệt qua các câu hỏi được gắn thẻ hỏi câu hỏi của bạn.
, hoặc Có thể bạn quan tâm

Hoạt động
Liên quan
Mới tạo