Android中Intent传递对象(一)Serializable

 Serializable是序列化的意思,表示将一个对象转化成可存储或可传输的状态。
 序列化后的对象可以在网络上进行传输,也可以存到本地。

 序列化的方法很简单只要让一个类去实现Serializable接口就可以了。

下面是个例子:

Person 是个javabeen

public class Person implements Serializable{
   
private String name;
    private int age;
    
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
    


}

MainActivity中传递对象

public class MainActivity extends Activity {
private Button button;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button=(Button) findViewById(R.id.button1);
button.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
//传递序列化后的对象
Person person=new Person();
person.setName("Tom");
person.setAge(1);
Intent intent =new Intent(MainActivity.this, SecondActivity.class);
intent.putExtra("person", person);
startActivity(intent);


}
});
}



}

SecondActivity 中接收对象

public class SecondActivity extends Activity{

@Override
protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);

/*
* 这里调用了getSerializableExtra();方法来获取通过参数传递过来的序列化对象,
* 接着再将它向下转型成person对象,
* 这样我们就实现了使用Intent来传递对象的功能了

*/
Intent intent = getIntent();
        Person person = (Person) intent.getSerializableExtra("person");
Log.e("1", "person对象"+person);
Log.e("1", "person名字"+person.getName());
Log.e("1", "person年龄"+person.getAge());

}


}//class

如果没有明白下载我的例子

http://download.csdn.net/detail/zhaihaohao1/8407553


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值