Class Student implements Serializable{ Direct Implementation interface Private static final long serialversionuid = -1811479799107069425l; String name; Public Student (String name) { This.name=name; } @Override Public String toString () { return name; } } Class Elephant implements Parcelable{ after implementing parcelable , override method private String name; private int age; Public Elephant (String Name,int age) { This.name=name; This.age=age; } deserialization Public Elephant (Parcel source) { This.name=source.readstring (); This.age=source.readint (); } @Override Public String toString () { return name+ "/" +age; } @Override public int describecontents () { TODO auto-generated Method Stub return 0; } /** Serialization * / @Override public void Writetoparcel (Parcel dest, int flags) { Dest.writestring (name); Dest.writeint (age); } use this object to implement a deserialization operation public static final Creator<elephant> creator= New Creator<elephant> () { deserialization @Override Public Elephant Createfromparcel (Parcel source) { return new Elephant (source); } @Override Public elephant[] NewArray (int size) { TODO auto-generated Method Stub return new Elephant[size]; } }; } public class Mainactivity extends Activity { Private ImageView ImageView; @Override protected void OnCreate (Bundle savedinstancestate) { Super.oncreate (savedinstancestate); Setcontentview (R.layout.activity_main); imageview= (ImageView) Findviewbyid (R.ID.IMAGEVIEW1); } public void OnClick01 (View v) { Intent intent=new Intent (this,otheractivity01.class); Intent.putextra ("Flag01", true); Bundle B=new Bundle ();//key/value B.putboolean ("Flag02", false); B.putstring ("flag03", "HelloWorld"); Intent.putextra ("Data", b); can encapsulate serialized objects Intent.putextra ("Student", New student (" Chen Jing ")); Intent.putextra ("Elephant", New Elephant (" Elephant ", +)); StartActivity (Intent); } Private Button btn; public void onClick02 (View v) { btn= (Button) v; Startactivityforresult ( New Intent (This,otheractivity02.class),//100 = Request Code ( identifies which request this is ) } activity initiated by the startactivityforresult method This method is executed when it is closed @Override protected void Onactivityresult (int requestcode, int resultcode, Intent data) { LOG.I ("TAG", "resultcode=" +resultcode); if (requestcode==100&&resultcode==200) { String Item=data.getstringextra ("Itemkey"); Btn.settext (item); }else if (requestcode==101) { Bundle Bundle=data.getextras (); Bundle.keyset (); Bitmap bitmap= (Bitmap) bundle.get ("Data"); Imageview.setimagebitmap (BITMAP); } } @Override public boolean Oncreateoptionsmenu (Menu menu) { Getmenuinflater (). Inflate (R.menu.main, menu); return true; } @Override public boolean onoptionsitemselected (MenuItem item) { if (Item.getitemid () ==r.id.cap) { Start the camera program Startactivityforresult ( New Intent (Mediastore.action_image_capture), 101); } return super.onoptionsitemselected (item); } } |