Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> Parcelable序列化的使用,關於intent.getParcelableArrayExtra的使用,intentparcelable

Parcelable序列化的使用,關於intent.getParcelableArrayExtra的使用,intentparcelable

編輯:關於android開發

Parcelable序列化的使用,關於intent.getParcelableArrayExtra的使用,intentparcelable


Parcelable相較於Serializable的效率更高

 

public class ChargeMode implements Parcelable{
    public String name;
    public int playway;
    public String price;
    public String validTime;
    public ChargeMode(){
        
    }
    private ChargeMode(Parcel in){
        name = in.readString();
        playway = in.readInt();
        price = in.readString();
        validTime = in.readString();
    }
    @Override
    public int describeContents() {
        return 0;
    }
    @Override
    public void writeToParcel(Parcel dest, int flags) {
        dest.writeString(name);
        dest.writeInt(playway);
        dest.writeString(price);
        dest.writeString(validTime);            
    }
    public static final Creator<ChargeMode> CREATOR = new Creator<ChargeMode>() {
        
        @Override
        public ChargeMode[] newArray(int size) {
            return new ChargeMode[size];
        }
        
        @Override
        public ChargeMode createFromParcel(Parcel source) {
            return new ChargeMode(source);
        }
    };
}

 

 

存入序列化的數組
Intent intent = new Intent(MovieSynopsis.this, PaymentActivity.class); intent.putExtra(Constant.CHARGE_MODE, chargeModes);//存入ChargeMode[]
startActivity(intent);

 

取出ChargeMode[]的值時,必須先是Parcelable[],之後再轉換成ChargeMode[]
Parcelable[] mChargeModes=intent.getParcelableArrayExtra(Constant.CHARGE_MODE);

ChargeMode chargeModes=(ChargeMode) mChargeModes[0];

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved