title: Is using Parcelable the right way to send data between applications?
body: <p>I am trying to understand how to communicate between applications in Android - not just between <code>Activity</code> instances.</p>
  
  <p>I set up a 'client' that sends a Messenger obj to a Service (in the <code>Intent</code> sent to the service); the service creates a <code>Message</code> obj and sends it back to the 'client' using <code>messenger.send(message)</code>. This works fine until I try to use the Message.obj to hold an object.</p>
  
  <p>I created my own <code>Parcelable</code> class <code>MyParcelable</code> in the service and put it into the message. All works until the message is unmarshalled in the 'client'. The unmarshall fails because the 'client' has no access to the <code>MyParcelable</code> class. That's obvious - they are in different packages (say <code>com.whatever.myclient</code> and <code>com.whatever.myserver</code>). Is this completely the wrong way to go about this?</p>
  
  <p>I have also tried creating a <code>Parcel</code> and sending that (both applications would thereby have access to the class) - but <code>Parcel</code> is not <code>Parcelable</code>. I have read about class loaders being used but do not understand how separate class loaders in separate applications (processes, if I understand Android architecture in that regard). That is, how can one class loader be 'taught' about a class that exists in the other class loader? It certainly seems like there should be an obvious 'this is how you do it' but I have not seen it yet.</p>