Tôi muốn marshall và unmarshall một Class mà thực hiện Parcelable
đến/từ một mảng byte. Tôi cũng nhận thức được thực tế là đại diện Parcelable không ổn định và do đó không có nghĩa là lưu trữ lâu dài các trường hợp. Nhưng tôi có một trường hợp sử dụng, nơi tôi cần serialize một đối tượng và nó không phải là một showstopper nếu unmarshalling không thành công vì một sự thay đổi Android nội bộ. Ngoài ra, lớp đã triển khai giao diện Parcelable
.Làm thế nào để marshall và unmarshall một Parcelable đến một mảng byte với sự giúp đỡ của bưu kiện?
Cho một lớp học MyClass implements Parcelable
, làm thế nào tôi có thể (ab) sử dụng giao diện Parcelable
để sắp xếp/không sửa lỗi?
'parcel.setDataPosition (0); // điều này cực kỳ quan trọng! 'điều này giúp tôi rất nhiều. thiếu tài liệu Android của điều này, thực sự là suck. –
Cảm ơn bạn rất nhiều vì mẹo này. Thực hiện Parcelable (đó là cực kỳ dễ bị lỗi và bạn sẽ nhận được trường hợp ngoại lệ thời gian vô nghĩa và khách hàng tức giận nếu không được thực hiện đúng) là một PITA - Tôi tránh Parcelables trong mã của tôi hoàn toàn và tôi đang sử dụng Serializables. Trên điện thoại hiện đại, tốc độ trúng là khó nhận thấy. –
Vấn đề duy nhất với cách tiếp cận này, tuy nhiên, là unmarshalling một lớp con của lớp thực hiện Parcelable sẽ không được đơn giản. Bạn sẽ cần phải chuyển thông tin bổ sung mà từ đó bạn có thể đánh giá đúng Creator để sử dụng. – bosphere