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

    }

  • 相关阅读:
    Android UI--自定义ListView(实现下拉刷新+加载更多)
    12306火车票订票网站的一个Bug
    golang中赋值string到array
    Node.js学习(14)----EJS模板引擎
    操作系统
    springMVC学习笔记--初识springMVC
    sqlplus 连接数据库报错SP2-0642: SQL*Plus internal error state 2130, context 0:0:0
    对于事务和同步(并发)的简要理解
    Jsoup入门
    [LeetCode]Single Number
  • 原文地址:https://www.cnblogs.com/houzf/p/5762621.html
Copyright © 2011-2022 走看看