I need to download an image from the internet,
in a different thread,
and then send that image object in the handler message, to the UI thread.
I already have this:
...
Message msg = Message.obtain();
Bundle b = new Bundle();
b.putParcelable("MyObject", (Parcelable) object);
msg.setData(b);
handler.sendMessage(msg);
And when I receive this message,
I want to extract the object:
...
public void handleMessage(Message msg) {
super.handleMessage(msg);
MyObject objectRcvd = (MyObject) msg.getData().getParcelable("IpTile");
addToCache(ipTile);
mapView.invalidate();
}
But this is giving me:
...java.lang.ClassCastException...
Can anyone help?
And by the way, is this the most efficient way
to pass an object to the UI Thread?
Thank you all!
I would use an AsyncTask for this kind of operation. It allows you to hook into your ui thread for things like progress updates and once you have finished your download. The example below shows how one should be done:
Hope that helps