您的位置:首页 > 其它

Intent 传递类对象的方法一

2016-04-12 13:59 369 查看
Android中Intent传递类对象提供了两种方式:

一种是 通过实现Serializable接口传递对象,

一种是通过实现Parcelable接口传递对象。

要求被传递的对象必须实现上述2种接口中的一种才能通过Intent直接传递。

使用intent可以在两个Acitivity之间传递数据,可以是int,string 数组,list等等。

Person.java:

package cn.edu.wtu;

import java.io.Serializable;

public class Person implements Serializable{

private static final long serialVersionUID = 1L;

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;

}

}

Book.java:

package cn.edu.wtu;

import android.os.Parcel;

import android.os.Parcelable;

public class Book implements Parcelable{

private String name;

private String author;

private String time;

public static final Parcelable.Creator<Book> CREATOR = new Creator<Book>(){

@Override

public Book createFromParcel(Parcel source) {

// TODO Auto-generated method stub

Book mBook = new Book();

mBook.name = source.readString();

mBook.time = source.readString();

mBook.author = source.readString();

return mBook;

}

@Override

public Book[] newArray(int size) {

// TODO Auto-generated method stub

return new Book[size];

}

};

@Override

public int describeContents() {

// TODO Auto-generated method stub

return 0;

}

@Override

public void writeToParcel(Parcel dest, int flags) {

// TODO Auto-generated method stub

dest.writeString(name);

dest.writeString(author);

dest.writeString(time);

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getTime() {

return time;

}

public void setTime(String time) {

this.time = time;

}

public String getAuthor() {

return author;

}

public void setAuthor(String author) {

this.author = author;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: