`
zhiweiofli
  • 浏览: 514904 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

在activity间传递对象的方法

 
阅读更多

在两个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间图片传递(3种方法)

    本文将详细介绍三种在Activity间传递图片的方法。 1. 资源ID间传递 这种方法适用于图片已经存在于项目资源文件夹中的情况。我们可以通过Intent的putExtra()方法传递图片的资源ID。首先,发送Activity中设置Intent:...

    Activity传递对象的3种方法(全)

    本文将详细介绍如何使用三种方法来传递对象:Parcelable、Serializable和Bundle,这些方法适用于不同类型的对象,包括基本类型、字符串、布尔值、数组、ArrayList以及自定义复杂对象如UUID和浮点类型。 ### 1. ...

    Activity传递类对象源码

    Activity间要传递数据,很多时候简单的int和string满足不了需求,我们在面向对象中已经习惯了类和对象, 那么下面就说一下如何传递类对象。 Android中有两种办法来完成这件事。一个是Java的序列化(Serializable)...

    Activity之间传递对象的Demo

    三、使用Parcelable传递对象 在发送Activity中,我们可以这样创建Intent并添加对象: ```java User user = new User("Tom", 25); Intent intent = new Intent(this, SecondActivity.class); intent.putExtra("user...

    两个Activity在调用StartActivity的时候传递序列化信息

    当需要在两个Activity之间传递数据时,通常有多种方法,其中一种是通过Intent传递序列化对象。这里的"两个Activity在调用StartActivity的时候传递序列化信息"就是指在启动一个新Activity时,将数据以序列化对象的...

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

    首先,我们来理解为什么需要在Activity之间传递对象。在多Activity的应用中,可能需要在不同的Activity之间共享数据,这些数据可能是简单的基本类型,如字符串、整数,也可能是复杂的自定义对象。Android的Intent...

    在不同Activity之间传递数据的四种常用方法

    在Android中传递数据的方法非常多,本次介绍4中比较常用的数据传递方法: 1.通过Intent传递数据 2.通过静态变量(static)传递数据 3.通过剪贴板(Clipboard)传递数据 4.通过全局对象传递数据 在...

    android activity之间传递对象

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

    Activity跳转时传递Bitmap对象

    在Android开发中,Activity之间的数据传递是常见的操作,特别是在处理图像数据时,如Bitmap对象。Bitmap是Android系统中用于表示图像的重要类,它包含了图像的所有像素信息。在不同Activity之间传递Bitmap,通常是...

    activity与activity利用接口相互传递数据

    当我们需要在两个Activity之间传递数据时,通常有多种方法,如Intent、Bundle、静态变量、文件、数据库等。本教程将聚焦于一种更为灵活的方式:通过接口进行数据传递。这种方式在某些复杂场景下特别有用,例如当数据...

    Android Activity间传递自定义类的对象

    以上就是如何在Android的Activity之间传递自定义类对象的方法。在实际开发中,根据项目需求和性能考虑,可以选择适合的方式。如果对象比较复杂,建议使用Parcelable;如果简单,且对性能要求不高,可以使用...

    Android-Activity之间数据传递的多种方式

    Intent是Android系统中用于启动组件(如Activity)的一种消息对象,同时也可以用来在组件间传递数据。Intent的数据传递有两种类型:显式和隐式。 1. 显式Intent:通过指定目标Activity的类名,可以精确地启动某个...

    两个Activity之间传递参数的代码

    Intent是Android中用来启动Activity或Service的类,也可以用于在Activity间传递数据。对于简单的数据类型(如字符串、整型、浮点型、布尔型等),我们可以在创建Intent时直接附加数据。 例如,在`LoginActivity....

    Android例子源码Activity间的数据传递

    在Activity间传递数据时,我们通常创建一个Intent对象,然后通过putExtra()方法添加数据,最后用startActivity()或startActivityForResult()启动目标Activity。 2. **基本类型数据传递**: Android允许我们将基本...

    安卓开发-Activity间数据传递和回传

    1. **创建Intent并传递数据**:在A中,通过创建一个指向B的`Intent`对象,并使用`putExtra()`方法将需要传递的数据添加到该`Intent`中。 ```java Intent intent = new Intent(this, B.class); intent.putExtra(...

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

    在Activity之间传递Parcelable对象时,可以使用`Intent`的`putExtra()`方法,传入自定义的键和Parcelable对象。对于集合,可以使用`putParcelableArrayListExtra()`。 5. **Activity间的数据传递**: 起始...

    Android进程间传递对象

    在进程间传递对象时,可以使用Intent的putExtra方法,将Parcelable对象放入Intent,然后通过startService或bindService来传递。 1. 在客户端(CLIENT)中,创建一个携带MyObject实例的Intent,调用`intent.putExtra...

    activity值传递

    当需要从第二个Activity返回结果到第一个Activity时,可以使用startActivityForResult()方法启动第二个Activity,并在第二个Activity中调用setResult()方法设置结果,最后在第一个Activity的onActivityResult()方法...

    安卓activity间的数据传递

    本篇文章将深入探讨“安卓activity间的数据传递”这一主题,特别关注使用Bundle对象的方法。 首先,Activity间的通信是Android应用设计的重要部分,这涉及到启动一个新Activity、在Intent中携带数据以及使用Bundle...

    activity间的数据传递Demo

    "activity间的数据传递Demo"就是一种常见的实践,它主要涉及的是Intent的使用,Intent是Android系统中用于启动组件(如Activity、Service等)并传递数据的重要工具。在本教程中,我们将深入探讨如何在不同的Activity...

Global site tag (gtag.js) - Google Analytics