zoukankan      html  css  js  c++  java
  • Android中Intent传递对象的两种方法:Serializable & Parcelable

    Android中Intent传递对象的有两种方法:
    1.Bundle.putSerializable(Key,Object);
    2.Bundle.putParcelable(Key, Object);

    public class xx implements Serializable {

    }

    public class Book implements Parcelable {
    private String bookName;
    private String author;
    private int publishTime;

    public static final Parcelable.Creator<Book> CREATOR = new Creator<Book>() {
    public Book createFromParcel(Parcel source) {
    Book mBook = new Book();
    mBook.bookName = source.readString();
    mBook.author = source.readString();
    mBook.publishTime = source.readInt();
    return mBook;
    }
    public Book[] newArray(int size) {
    return new Book[size];
    }
    };

    public int describeContents() {
    return 0;
    }

    public void writeToParcel(Parcel parcel, int flags) {
    parcel.writeString(bookName);
    parcel.writeString(author);
    parcel.writeInt(publishTime);
    }
    }

    // Bundle.putSerializable(Key,Object);
    Person mPerson = new Person();
    mPerson.setName("xxx");
    Intent mIntent = new Intent(this, Obj.class);
    Bundle mBundle = new Bundle();
    mBundle.putSerializable(Key, mPerson);
    mIntent.putExtras(mBoundle);

    // Bundle.putParcelable(Key, Object);
    Book mBook = new Book();
    mBook.setBookName("Awefw");
    mBook.setAuthor("xx");
    mBook.setPublishTime("235");
    Intent mIntent = new Intent(this, xx.class);
    Bundle mBundle = new Bundle();
    mBundle.putParcelable(key, mBook);
    mIntent.putExtras(mBundle);
    startActivity(mIntent);

  • 相关阅读:
    2014年终总结
    杭电2014——青年歌手大奖赛_评委会打分
    nyoj---t448(寻找最大数)
    nyoj_t218(Dinner)
    将string转换成char*
    nyoj71--独木舟上的旅行
    基于贪心算法的几类区间覆盖问题
    会场安排问题—NYOJ14
    南阳理工ACM——106背包问题
    南阳理工91——阶乘之和
  • 原文地址:https://www.cnblogs.com/bluestorm/p/3739110.html
Copyright © 2011-2022 走看看