Wednesday, 4 June 2014

pass object one activity to another activity using Serialization in android


pass object through bundle android
//--------------------------------------------------------------------------------------------------
public class MainActivityFrom extends Activity {
   
    ArrayList<String> listTest = new ArrayList<String>() ;
    Button btn1 ;
    MySerialization objectSetialization ;
   
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main_second);
       
        listTest.add("CMBT BUS STATION");
       
        Log.v("hari","MainActivityFrom") ;
        btn1 = (Button) findViewById(R.id.button1);
       
       objectSetialization = new MySerialization("krishnanhari",25 , listTest) ;
              
        btn1.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
               
                //Passing  MySerialization instance
                Intent mIntent = new Intent(MainActivityFrom.this, MainActivityTo.class);
                Bundle bund = new Bundle() ;
                bund.putSerializable("serialbundle", objectSetialization);
                mIntent.putExtras(bund);
                startActivity(mIntent);
               
            }
        }) ;
    }
}
//--------------------------------------------------------------------------------------------------
import java.io.Serializable;
import java.util.ArrayList;

@SuppressWarnings("serial")
public class MySerialization implements Serializable {
private int age;
private String name;
private ArrayList<String> address;

public MySerialization(String name, int age, ArrayList<String> address) {
    this.name = name;
    this.age = age;
    this.address = address;

}
public int getAge() {
    return age;
}
public String getName() {
    return name;
}
public ArrayList<String> getAddress() {
    if (!(address == null))
        return address;
    else
        return new ArrayList<String>();
}
}
//--------------------------------------------------------------------------------------------------

public class MainActivityTo extends Activity {

    Intent mIntent ;
    Bundle bund = null ;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main_second);
       
        mIntent = getIntent();
               
        @SuppressWarnings("null")
        MySerialization serial = (MySerialization) mIntent.getSerializableExtra("serialbundle");
       
        bund = mIntent.getExtras();
       
        Log.v("hari","bundle:"+bund.getSerializable("serialbundle"));
       
        Log.v("hari","serial:"+serial.getAge()+"--"+serial.getName()+"--"+serial.getAddress());
             
    }
}
//--------------------------------------------------------------------------------------------------



No comments:

Post a Comment