Activity之间传递数据方式

来源:互联网 发布:阿里云解析多久生效 编辑:程序博客网 时间:2024/05/16 14:29

传递基本数据类型:

1.Intent

intent.putExtra(...)

getIntent().getStringExtra(...)      getIntent().getIntExtra(...)    ....


2.Bundle

bundle.putString(...)    bundle.putInt(...)    ....

intent.putExtras(bundle)

getIntent().getExtras().getString()

--------------------------------------------------------------------------

intent.putExtra(key, bundle)

getIntent().getBundleExtra()



传递对象

1.Bean类implements Serializable


2.Bean类 implements Parcelable (速度比1快)

public class Users implements Parcelable {    private String name;    private int age;    private String sex;    public Users(String name, int age, String sex) {        this.name = name;        this.age = age;        this.sex = sex;    }    protected Users(Parcel in) {        name = in.readString();        age = in.readInt();        sex = in.readString();    }    public static final Creator<Users> CREATOR = new Creator<Users>() {        @Override        public Users createFromParcel(Parcel in) {            return new Users(in);        }        @Override        public Users[] newArray(int size) {            return new Users[size];        }    };    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;    }    public String getSex() {        return sex;    }    public void setSex(String sex) {        this.sex = sex;    }    @Override    public int describeContents() {        return 0;    }    @Override    public void writeToParcel(Parcel dest, int flags) {        dest.writeString(name);        dest.writeInt(age);        dest.writeString(sex);    }}


0 0