类实现Parcelable接口在Intent中传递

类实现了Parcelable接口就可以在Intent中传递   只要在类的定义中实现Parcelable接口

代码

 1 package entity;
 2
 3 import android.os.Parcel;
 4 import android.os.Parcelable;
 5
 6 public class Person implements Parcelable {
 7
 8     private int id;
 9     private String name;
10     private String pass;
11
12     public Person() {
13         super();
14         // TODO Auto-generated constructor stub
15     }
16
17     public Person(int id, String name, String pass) {
18         super();
19         this.id = id;
20         this.name = name;
21         this.pass = pass;
22     }
23
24     public int getId() {
25         return id;
26     }
27
28     public void setId(int id) {
29         this.id = id;
30     }
31
32     public String getName() {
33         return name;
34     }
35
36     public void setName(String name) {
37         this.name = name;
38     }
39
40     public String getPass() {
41         return pass;
42     }
43
44     public void setPass(String pass) {
45         this.pass = pass;
46     }
47
48     @Override
49     public String toString() {
50         return "Person [id=" + id + ", name=" + name + ", pass=" + pass + "]";
51     }
52          //----------实现内容描述
53     @Override
54     public int describeContents() {
55         // TODO Auto-generated method stub
56         return 0;
57     }
58        //-------------写入到包中    注意 写入顺序
59     @Override
60     public void writeToParcel(Parcel dest, int flags) {
61         // TODO Auto-generated method stub
62         dest.writeInt(id);
63         dest.writeString(name);
64         dest.writeString(pass);
65
66     }
67     // 添加一个静态成员,名为CREATOR,该对象实现了Parcelable.Creator接口
68     public static final Parcelable.Creator<Person> CREATOR = new Creator<Person>() {
69
70         @Override
71         public Person[] newArray(int size) {
72             // TODO Auto-generated method stub
73             return new Person[size];
74         }
75
76         @Override
77         public Person createFromParcel(Parcel source) {
78             // 从Parcel中读取数据,返回person对象    --------------按顺序读
79             return new Person(source.readInt(), source.readString(),
80                     source.readString());
81         }
82     };
83
84 }

Person

时间: 2024-10-23 08:30:55

类实现Parcelable接口在Intent中传递的相关文章

android中用Intent传数据,如果用传递的是一个类,就将类实现Parcelable接口

Parcelable,内存单位,跨进程使用,或者intent传递对象的时候使用.android中用Intent传数据,如果用传递的是一个对象,就将对象实现Parcelable接口,而不是将对象序列化. /** * 预登记 出席领导回传给预登记页面 Javabean * Created by COCO on 2017/3/4. */ public class GovernmentTakeLeaderInfo implements Parcelable{//Parcelable,内存单位,跨进程使用

Android 在Intent中传递接口

总结:在Activity中不能用intent传递匿名接口,原因如下:Activity A中生成了匿名接口M, 这个接口的引用就在组Activity A中,Activity A会禁止接口M 序列化.因为如果接口M被序列化并发送到其他组件,那么就会保持在Activity A中的引用,这样Activity A就不能被垃圾回收,造成内存泄露. 所以解决方案是:在Activity中定义一个解决M的静态实现类N,这样,N的引用将是静态的,即使在Activity间被传输,也没必要保持Activity A的引用

android 中传递对象两种方法探索(Serializable,Parcelable)

相信大家在android开发的过程中总会遇到要在Activity中间传递数据的情况,当然,遇到需要在Intent中传递对象的情况也不可避免,所以我就so了一下相关的知识,在这里总结消化一下.就目前来说,我了解到的只有两种方式: 1.利用Bundle.putSerializable(Key,Object): 2.利用Bundle.putParcelable(Key, Object): 下面详细介绍两种方法的使用和区别: 首先第一点,这两种方法实现的前提都需要将传递的对象Object序列化,那么,问

第二章——Parcelable接口的使用(跨进程,Intent传输)

一.Parcelable类(Android独有的) 简介:Parcelable是一个接口. 作用:是Android提供的序列化接口,实现序列化和反序列化的操作. 二.跨进程使用 步骤一:创建Book类继承Parcelable接口 public class Book implements Parcelable { private String mBookName; private int mBookId; /** *准备:创建Book类,并继承Parcelable接口 */ public Book

(android)Parcelable接口的使用

什么是Parcelable ? Parcelable,定义了将数据写入Parcel,和从Parcel中读出的接口.一个实体(用类来表示),如果需要封装到消息中去,就必须实现这一接口,实现了这一接口,该实体就成为"可打包的"了. Parcelable 传递对象 Android序列化对象主要有两种方法: 1.实现Serializable接口,实现Serializable接口是JavaSE本身就支持的; 2.实现Parcelable接口,Parcelable是Android特有的功能,效率比

Intent.putExtra()传递Object对象或者ArrayList&lt;Object&gt; (转)

Intent传递基本类型相信大家都十分熟悉,如何传递Object对象或者ArrayList<Object>对象呢? 可以通过: (1)public Intent putExtra (String name, Serializable value) (2)public Intent putExtra (String name, Parcelable value) public Intent putParcelableArrayListExtra(String name, ArrayList<

借助Intent实现Android工程中Activity之间Java对象的传递——实现Parcelable接口

借助Intent实现Android工程中Activity之间Java对象的传递有两种方式:一种所传递对象实现了Serializable接口:另一种是所传递对象实现了Parcelable接口,本博客总结传递对象实现Parcelable接口的情况下如何实现Java对象传递: 代码1.添加名为"User.java"的文件: package com.ghj.vo; import android.os.Parcel; import android.os.Parcelable; public cl

Android中的Parcelable接口和Serializable用法和区别

Parcelable接口: Interface for classes whose instances can be written to and restored from a Parcel. Classes implementing the Parcelable interface must also have a static field called CREATOR, which is an object implementing the Parcelable.Creator inter

Android中Parcelable接口用法(转自Harvey Ren)

1. Parcelable接口 Interface for classes whose instances can be written to and restored from a Parcel. Classes implementing the Parcelable interface must also have a static field called CREATOR, which is an object implementing the Parcelable.Creator int