zoukankan      html  css  js  c++  java
  • Parcelable intent传递对象时,需要将该对象实现Parcelable 或者Serializable

    Serializable的作用是为了保存对象的属性到本地文件、数据库、网络流、rmi以方便数据传输,当然这种传输可以是程序内的也可以是两个程序间的。而Android的Parcelable的设计初衷是因为Serializable效率过慢,为了在程序内不同组件间以及不同Android程序间(AIDL)高效的传输数据而设计,这些数据仅在内存中存在,Parcelable是通过IBinder通信的消息的载体。

    实现 Parcelable

    package com.example.activity_datatrsfer;

    import java.io.Serializable;

    import android.os.Parcel;
    import android.os.Parcelable;

    public class Student implements Parcelable {

    /**
    *
    */
    private String name;
    public String getName() {
    return name;
    }

    public void setName(String name) {
    this.name = name;
    }

    private String age;
    public String getAge() {
    return age;
    }

    public void setAge(String age) {
    this.age = age;
    }

    @Override
    public int describeContents() {
    return 0;
    }

    //1、声明一个静态变量CREATOR  需要大写
    public static Parcelable.Creator<Student> CREATOR= new Creator<Student>() {

    @Override
    public Student createFromParcel(Parcel source) {
    Student student= new Student();
    student.setName(source.readString());//需要与writeToParcel方法的顺序保持一致
    student.setAge(source.readString());
    return student;
    }

    @Override
    public Student[] newArray(int size) {

    return null;
    }

    };
    @Override
    public void writeToParcel(Parcel dest, int flags) {
    dest.writeString(name);//顺序与 createFormParel 的顺序一致
    dest.writeString(age);
    }

    }

  • 相关阅读:
    [SDOI2015]约数个数和
    [POI2007]ZAP-Queries
    fpu栈溢出
    shader 汇编
    sample a texture as a rendertarget
    ID3d11asynchronous
    DEVICE DRAW VERTEX BUFFER TOO SMALL
    模型的一个点显示在原点
    setrendertraget 上下颠倒
    skinned mesh 蜘蛛样
  • 原文地址:https://www.cnblogs.com/houzf/p/5762621.html
Copyright © 2011-2022 走看看