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

    }

  • 相关阅读:
    简单递归后台代码
    Request.QueryString与Request的区别
    在ASP.NET中实现图片、视频文件上传方式
    git之二
    ORACLE 下查看用户session 及 kill 用户session
    oracle 存储过程、函数和包的权限
    查看Linux操作系统版本命令
    Oracle创建Database link方法
    Oracle修改统计信息收集计划时间
    Oracle 不停库清理监听日志
  • 原文地址:https://www.cnblogs.com/houzf/p/5762621.html
Copyright © 2011-2022 走看看