Czy używanie Parcelable jest właściwym sposobem przesyłania danych między aplikacjami?

Próbuję zrozumieć, jak komunikować się między aplikacjami w Androidzie - nie tylko międzyActivity instancje.

Skonfigurowałem „klienta”, który wysyła komunikat Messenger do usługi (w poluIntent wysłany do serwisu); usługa tworzyMessage obj i wysyła go z powrotem do „klienta”messenger.send(message). Działa to dobrze, dopóki nie spróbuję użyć Message.obj do przechowywania obiektu.

Stworzyłem własnąParcelable klasaMyParcelable w usłudze i umieść ją w wiadomości. Wszystkie działają, dopóki wiadomość nie zostanie wprowadzona w „kliencie”. Unmarshall zawodzi, ponieważ „klient” nie ma dostępu doMyParcelable klasa. To oczywiste - są w różnych pakietach (powiedzmycom.whatever.myclient icom.whatever.myserver). Czy to całkowicie zły sposób na to?

Próbowałem również utworzyćParcel i wysyłanie tego (obie aplikacje miałyby w ten sposób dostęp do klasy) - aleParcel nie jestParcelable. Przeczytałem o używanych ładowaczach klas, ale nie rozumiem, jak oddzielne programy ładujące klasy znajdują się w oddzielnych aplikacjach (procesach, jeśli rozumiem w tym względzie architekturę Androida). Oznacza to, w jaki sposób można „nauczyć” jednego programu ładującego klasy o klasie istniejącej w innym programie ładującym klasy? Z pewnością wydaje się, że powinno być oczywiste „tak to robisz”, ale jeszcze go nie widziałem.

questionAnswers(3)

yourAnswerToTheQuestion