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);
    }

    }

  • 相关阅读:
    帧同步优化难点及解决方案
    四元数
    臭鼬管理法
    十分钟理解Gradle
    深入理解Android之Gradle
    走出体制的臭鼬工厂,臭鼬著名的“14条”管理原则
    Unity5-ABSystem(五):AssetBundle内存
    Unity5-ABSystem(四):AssetBundle依赖
    Unity5-ABSystem(三):AssetBundle加载
    ASP.NET Core搭建多层网站架构【2-公共基础库】
  • 原文地址:https://www.cnblogs.com/houzf/p/5762621.html
Copyright © 2011-2022 走看看