Serializable的基本使用:
新建对象: 使用serializable的接口
public class 类名 implements Serializable
{
private static final long serializableVersionUID=9092013023902193012930L;
.....
}
调用:
//序列化过程:
类 新建一个对象;
ObjectOutputStream os=new ObjectOutputStream(new FileOutputStream(path));
os.writeObject(对象);
os.close();
//反序列化
ObjectInputStream in=new ObjectInputStream(new FileInputStream(path));
对象=in.readObject();
in.close();
在android中,Serializable可以用于Intent的对象传递。
public class User implements Serializable
{
private static final long serializableVersionUID=328379124090932959045094095L;
public int age;
public String name;
public int id;
}
private Button button;
private User ololee=new User();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button=(Button)findViewById(R.id.button);
//ololee->init....balabala
button.setOnClickListerner(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent(MainActivity.this,SecondActivity.class);
intent.putExtra("user",ololee);
startActivity(intent);
}
});
}
Intent传递数据有四种方式:
0x01:常用类型数据使用Intent.putExtra();使用相应的getIntent().getExtra()方法得到数据
0x02:Bundle传递
0x03:Serializable传递
0x04:Parcelable传递