Tôi có một số Activity
và 5 Fragment
. Trên số điện thoại đầu tiên Fragment
người dùng nhập số điện thoại. Vào ngày cuối cùng (thứ năm) Fragment
Tôi cần hiển thị số điện thoại này, nhập các trường khác và gửi tất cả dữ liệu đến máy chủ. Đối với mỗi Fragment
tôi đang sử dụng Trình dẫn riêng (MVP).Dữ liệu chuyển qua Android giữa các Mảnh vỡ
Cách chuyển dữ liệu từ đoạn đầu tiên đến cuối cùng?
1) Tôi không muốn vượt qua tất cả các chuỗi phân đoạn, vì chúng không cần dữ liệu này.
2) Nếu lưu trữ dữ liệu này trong lưu trữ Activity
, tôi cần gọi ((SomeActivity)getActivity()).getUserData()
bên trong Fragment
và chuyển dữ liệu này cho Người trình bày.
3) Tôi đã chọn cách tiếp cận cuối cùng. Tôi đã tạo một lớp UserData singleton. Đây là lớp POJO đơn giản. Tôi đang tạo phiên bản UserData
trong Fragment
thiết lập dữ liệu cần thiết đầu tiên và sử dụng dữ liệu đó trong Fragment
cuối cùng để truy xuất dữ liệu và thêm các trường bị thiếu.
Nhưng tôi không biết là cách tiếp cận với giải pháp đúng singleton. Bởi vì tôi cần phải xóa singleton instance khi người dùng đi đến một Activity
khác. Nếu có giải pháp tốt hơn?
EDIT
Tôi nghĩ về EventBus. Nhưng tôi sẽ phải chuyển dữ liệu từ Fragment đến Presenter. Bây giờ tôi gọi UserData.getInstance()
bên trong hiện tại và truy xuất dữ liệu. Tôi muốn mã được thanh lịch hơn và cũng chính xác. Tôi yêu cầu nghe ý kiến của các nhà phát triển có kinh nghiệm hơn những gì tốt hơn để sử dụng.
Bạn không thể sử dụng 'SharedPref'? –
@RohitArya Tôi không nghĩ rằng đây là giải pháp tốt hơn là giữ dữ liệu bên trong Hoạt động. Tôi chỉ cần dữ liệu này để gửi đến máy chủ, không phải trong thời gian dài –
Sau đó singleton sẽ là một cách tiếp cận tốt. –