Intent传递对象

来源:互联网 发布:监控网络防雷器 20ka 编辑:程序博客网 时间:2024/06/08 15:15

  • Serializable对象的传递
  • Parcelable对象的传递

Serializable对象的传递

Serializable即序列化,将对象转化成可存储与传输状态。

public class Student implements Serializable{    String id;    String name;    String sex;    public void setId(id){        this.id = id;    }    public String getId(){        return id;    }    public void setName(name){        this.name = name;    }    public String getName(){        return name;    }    public void setSex(sex){        this.sex = sex;    }    public String getSex(){        return sex;    }}
//传递数据Student student = new Student();student.setId("1");student.setName("zs");student.setSex("male");Intent intent = new Intent(MainActivity.this,SecondActivity.class);intent.putExtra("info",student);startActivity(intent);//取数据Student student = (Student)getIntent().getSerializableExtra("info");


Parcelable对象的传递

Parcelable原理:将一个对象进行分解成Intent所支持的数据类型,然后再传递。

package com.app.model;import android.os.Parcel;import android.os.Parcelable;/** * Created by Administrator on 16/4/20. */public class Student implements Parcelable{    private String id;    private String name;    public String getId() {        return id;    }    public void setId(String id) {        this.id = id;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    @Override    public int describeContents() {        return 0;    }    @Override    public void writeToParcel(Parcel dest, int flags) {        dest.writeString(id);        dest.writeString(name);    }    public static final Parcelable.Creator<Student> CREATOR = new         Parcelable.Creator<Student>(){        @Override        public Student createFromParcel(Parcel source) {            Student student = new Student();            student.setId(source.readString());            student.setName(source.readString());            return student;        }        @Override        public Student[] newArray(int size) {            return new Student[size];        }    };}

//传递对象Student student = new Student();student.setId("001");student.setName("zs");Intent intent = new Intent(MainActivity.this,SecondActivity.class);intent.putExtra("info",student);startActivity(intent);//获取对象Intent intent = getIntent();Student student =(Student)intent.getParcelableExtra("info");
0 0
原创粉丝点击