`
ai_longyu
  • 浏览: 505577 次
社区版块
存档分类
最新评论

Android中如何使用Intent在Activity之间传递对象[使用Serializable或者Parcelable]

 
阅读更多

在Android中的不同Activity之间传递对象,我们可以考虑采用Bundle.putSerializable(Key,Object);也可以考虑采用Bundle.putParcelable(Key, Object);其中前面一种方法中的Object要实现Serializable接口,后面一种方法中的Object要实现Parcelable接口。下面我们以一个完整的例子来说明。

1.新建一个Android的工程,其中该工程的目录结构如下图:

2. 修改main.xml布局文件。布局文件的源码如下:

3.在工程的src目录下新建一个实体类包,命名为com.andy.entity.同时在该package中添加两个实体类,一个是Person.java,该类实现Serializable接口;一个是Police.java,该类实现Parcelable接口。代码分别如下:

Person.java:

Police.java:

4.在包com.andy.testdemo中修改TestActivity.java类,同时在该包中添加类SerializableDemo和ParcelableDemo,分别继承了Activity类和分别显示Person对象和Police对象的数据。代码如下:

SerializableDemo.java类

ParcelableDemo.java类:

5.在AndroidManifest.xml文件中为新添加的两个Activity进行注册。

6.运行程序查看效果图:

【1】主界面截图:

【2】点击Serializable按钮的效果

【3】点击Parcelable按钮的效果

=========================================================================

以上是如何采用Intent在不同的Activity之间传递对象的例子。

分享到:
评论
1 楼 追逐779 2012-08-03  
有谁知到怎样在android的intent的putExtras传一个可变的值!

相关推荐

    android中Intent传递对象的两种方法(Serializable,Parcelable)

    在Android中,Intent支持Serializable对象的传递。实现步骤如下: 1. **实现Serializable接口**:首先,你需要让你的对象类实现Serializable接口,例如: ```java public class MyObject implements Serializable ...

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

    通常,我们使用Intent来在不同Activity之间传递数据,但当需要传递复杂对象时,如自定义的Java对象,就需要使用到Parcelable接口。这个压缩包文件"实现Parcelable接口的方式借助Intent实现Android工程中Activity之间...

    Intent传递对象Serializable

    在Android中,Intent的额外数据部分(extras)只能存储Parcelable或Serializable类型的对象,因此,当我们需要通过Intent传递自定义对象时,可以选择实现Serializable接口。 **步骤1:实现Serializable接口** 为了...

    Android Intent传递数据大小限制详解

    前言 在sendBroadcast,startActivity时,我们会用到Intent。 Intent可以携带一些数据,比如基本类型数据int、Boolean,或是String,或是序列化...在Intent中传入一个Parcelable对象;例如传入一个bitmap对象。 代

    通过Intent实现Activity之间的切换,并传递数据

    在Android应用开发中,Intent是一种强大的机制,用于在组件之间建立通信桥梁,特别是在Activity之间进行切换和数据传递。本文将详细讲解如何通过Intent实现Activity之间的切换,并探讨如何利用Intent进行数据传递。 ...

    android 利用intent调用activity 简明精炼的例子

    本篇将重点讲解如何利用Intent在Android中调用Activity,并进行数据的传递与接收。 首先,让我们了解一下Activity。在Android中,Activity是用户界面的载体,它代表了用户可以看到并与其交互的一个屏幕。通过Intent...

    android activity之间传递对象

    本篇将详细讲解如何在Android的Activity之间传递对象,主要涉及两种常见的实现方式:Parcelable和Serializable。 一、Parcelable接口 Parcelable是Android系统提供的一种高效的数据序列化方式,它允许对象直接在...

    借助Intent实现Android工程中Activity之间Java对象的传递.zip

    总结,通过Intent在Android的Activity之间传递Java对象,开发者可以根据项目的具体需求选择适合的方法。Serializable接口简单易用但效率较低,Parcelable接口高效但编码复杂,Gson库提供了方便的JSON转换,而...

    Android Parcelable序列化自定义类集合在Activity间传递

    综上所述,要理解并实现Android中Parcelable序列化自定义类集合在Activity间传递,开发者需要掌握Parcelable接口的使用、自定义类的Parcelable实现、集合处理、Intent数据传递,以及可能借助的源码阅读和辅助工具。...

    Activity之间传递对象的Demo

    在Android中,Activity之间的对象传递主要依赖于Intent、Parcelable接口、Serializable接口以及Bundle。Parcelable接口提供高效的数据传输,适用于频繁的数据交换;Serializable接口使用简单,但效率较低;而Bundle...

    android Intent传递对象数据

    在Android开发中,Intent是应用程序之间以及应用程序组件之间进行交互的一种重要方式。它用于启动新的Activity、Service或者向BroadcastReceiver发送消息。然而,Intent默认只能传递基本数据类型,如String、int等。...

    Android Intent传递对象

    在Android中,Intent可以携带Serializable对象,但这种方式相对效率较低,因为序列化和反序列化过程比较耗时,占用较多的CPU和内存资源。以下是如何使用Serializable的例子: ```java public class MyObject ...

    Android 数据传递(Intent、Bundle、Serializable、Parcelable等)

    在Android中,Serializable常用于Intent和Bundle的数据传递。序列化的过程是将对象转换为字节流,反序列化则相反。虽然使用简单,但序列化速度较慢,且生成的字节流占用空间大,不适合大量数据传输。 4. **...

    实验七 使用Intent在Activity间传输数据

    在Android应用开发中,Intent是连接应用程序组件的重要机制,它被用来启动新的活动(Activity)或者传递消息。在“实验七 使用Intent在Activity间传输数据”中,我们将深入理解Intent的工作原理及其在不同Activity间...

    Activity之间对象传递的两种方式

    本篇文章将详细探讨在Android中Activity之间对象传递的两种主要方式:Parcelable和Serializable接口的使用。 首先,我们来理解为什么需要在Activity之间传递对象。在多Activity的应用中,可能需要在不同的Activity...

    Android中Intent传递对象的两种方法Serializable,Parcelable

    在Android中,我们可以通过Intent的putExtra()方法,将实现了Serializable接口的对象以键值对的形式放入Intent,然后在接收方通过getSerializableExtra()取出。由于Serializable接口的实现相对简单,只需要在类上...

    Android系列之Intent传递对象的几种实例方法

    本篇文章将详细探讨如何通过Intent在Android中传递对象,主要分为两种方式:使用`Serializable`接口和`Parcelable`接口。 1. **Serializable接口** `Serializable`是Java提供的一个标准序列化接口,当一个类实现了...

    android 传递对象

    在DEMO Trans Object中,通常会展示如何创建一个自定义类,实现Parcelable接口,并在Activity之间通过Intent传递这个自定义对象。DEMO可能包括以下步骤: 1. 创建自定义类并实现Parcelable接口。 2. 在自定义类中...

Global site tag (gtag.js) - Google Analytics