在两个activity间传递数据,我们通常的方法都是用Intent或者Bundle,捎上数据,但是里面似乎只有一些放置一些Java中已经有的数据类型,像String,int,double等,但如果要传递一个对象,就需要一些小技巧了:
Bundle中有一个方法putSerializable,利用该对象就可以传递对象了,不过传递的对象要实现Serializable接口。
例如要传递一个User对象,则示例代码如下:
User类
public class User implements Serializable {
//其他代码省略
}
Activity中关键代码
User user = new User();
Intent intent = new Intent(MyActivity.this,OthereActivity.class);
Bundle bundle = new Bundle();
bundle.putSerializable("user", user);
intent.putExtras(bundle);
startActivity(intent);
Activity之间通过Intent传递值,支持基本数据类型和String对象及它们的数组对象byte、byte[]、char、char[]、boolean、boolean[]、short、short[]、int、int[]、long、long[]、float、float[]、double、double[]、String、String[],还有实现Serializable、Parcelable接口的类对象。
public class CustomeClass implements Serializable{
/**
*
*/
private static final long serialVersionUID = -7060210544600464481L;
}
Activity1中的关键代码
CustomeClass cc = new CustomeClass();
Intent intent = new Intent(this, PersonInfo.class);
intent.putExtra("PERSON_INFO", cc);
startActivity(intent);
Activity2中的关键代码
Intent intent = getIntent();
CustomeClass cc=(CustomeClass)intent.getSerializableExtra
("PERSON_INFO");
分享到:
相关推荐
本文将详细介绍三种在Activity间传递图片的方法。 1. 资源ID间传递 这种方法适用于图片已经存在于项目资源文件夹中的情况。我们可以通过Intent的putExtra()方法传递图片的资源ID。首先,发送Activity中设置Intent:...
本文将详细介绍如何使用三种方法来传递对象:Parcelable、Serializable和Bundle,这些方法适用于不同类型的对象,包括基本类型、字符串、布尔值、数组、ArrayList以及自定义复杂对象如UUID和浮点类型。 ### 1. ...
Activity间要传递数据,很多时候简单的int和string满足不了需求,我们在面向对象中已经习惯了类和对象, 那么下面就说一下如何传递类对象。 Android中有两种办法来完成这件事。一个是Java的序列化(Serializable)...
三、使用Parcelable传递对象 在发送Activity中,我们可以这样创建Intent并添加对象: ```java User user = new User("Tom", 25); Intent intent = new Intent(this, SecondActivity.class); intent.putExtra("user...
当需要在两个Activity之间传递数据时,通常有多种方法,其中一种是通过Intent传递序列化对象。这里的"两个Activity在调用StartActivity的时候传递序列化信息"就是指在启动一个新Activity时,将数据以序列化对象的...
首先,我们来理解为什么需要在Activity之间传递对象。在多Activity的应用中,可能需要在不同的Activity之间共享数据,这些数据可能是简单的基本类型,如字符串、整数,也可能是复杂的自定义对象。Android的Intent...
在Android中传递数据的方法非常多,本次介绍4中比较常用的数据传递方法: 1.通过Intent传递数据 2.通过静态变量(static)传递数据 3.通过剪贴板(Clipboard)传递数据 4.通过全局对象传递数据 在...
本篇将详细讲解如何在Android的Activity之间传递对象,主要涉及两种常见的实现方式:Parcelable和Serializable。 一、Parcelable接口 Parcelable是Android系统提供的一种高效的数据序列化方式,它允许对象直接在...
在Android开发中,Activity之间的数据传递是常见的操作,特别是在处理图像数据时,如Bitmap对象。Bitmap是Android系统中用于表示图像的重要类,它包含了图像的所有像素信息。在不同Activity之间传递Bitmap,通常是...
当我们需要在两个Activity之间传递数据时,通常有多种方法,如Intent、Bundle、静态变量、文件、数据库等。本教程将聚焦于一种更为灵活的方式:通过接口进行数据传递。这种方式在某些复杂场景下特别有用,例如当数据...
以上就是如何在Android的Activity之间传递自定义类对象的方法。在实际开发中,根据项目需求和性能考虑,可以选择适合的方式。如果对象比较复杂,建议使用Parcelable;如果简单,且对性能要求不高,可以使用...
Intent是Android系统中用于启动组件(如Activity)的一种消息对象,同时也可以用来在组件间传递数据。Intent的数据传递有两种类型:显式和隐式。 1. 显式Intent:通过指定目标Activity的类名,可以精确地启动某个...
Intent是Android中用来启动Activity或Service的类,也可以用于在Activity间传递数据。对于简单的数据类型(如字符串、整型、浮点型、布尔型等),我们可以在创建Intent时直接附加数据。 例如,在`LoginActivity....
在Activity间传递数据时,我们通常创建一个Intent对象,然后通过putExtra()方法添加数据,最后用startActivity()或startActivityForResult()启动目标Activity。 2. **基本类型数据传递**: Android允许我们将基本...
1. **创建Intent并传递数据**:在A中,通过创建一个指向B的`Intent`对象,并使用`putExtra()`方法将需要传递的数据添加到该`Intent`中。 ```java Intent intent = new Intent(this, B.class); intent.putExtra(...
在Activity之间传递Parcelable对象时,可以使用`Intent`的`putExtra()`方法,传入自定义的键和Parcelable对象。对于集合,可以使用`putParcelableArrayListExtra()`。 5. **Activity间的数据传递**: 起始...
在进程间传递对象时,可以使用Intent的putExtra方法,将Parcelable对象放入Intent,然后通过startService或bindService来传递。 1. 在客户端(CLIENT)中,创建一个携带MyObject实例的Intent,调用`intent.putExtra...
当需要从第二个Activity返回结果到第一个Activity时,可以使用startActivityForResult()方法启动第二个Activity,并在第二个Activity中调用setResult()方法设置结果,最后在第一个Activity的onActivityResult()方法...
本篇文章将深入探讨“安卓activity间的数据传递”这一主题,特别关注使用Bundle对象的方法。 首先,Activity间的通信是Android应用设计的重要部分,这涉及到启动一个新Activity、在Intent中携带数据以及使用Bundle...
"activity间的数据传递Demo"就是一种常见的实践,它主要涉及的是Intent的使用,Intent是Android系统中用于启动组件(如Activity、Service等)并传递数据的重要工具。在本教程中,我们将深入探讨如何在不同的Activity...