刚开始一直纠结于Intent只能put像int, String之类的简单参数, 知道最近才发现了一下的方法.
一>, 使用Intent传递实体类对象
首先实体类需要
implements Serializable
然后
Intent broadIntent = new Intent();
Bundle bundle = new Bundle();
bundle.putInt("flag", C.BroadFlags.Login);
bundle.putSerializable(C.BroadKey.UserInfo, userInfo);
broadIntent.putExtras(bundle);
就可以了.
接收时:
RetUserInform userInfo = (RetUserInform) intent
.getSerializableExtra(C.BroadKey.UserInfo);
二>, 使用Intent传递复杂参数的List
Intent broadIntent = new Intent();
broadIntent.setAction("com.ytu.enetmobile.servicesBroadcast");
Bundle castBundle = new Bundle();
castBundle.putInt("flag", C.BroadFlags.GetInfo);
castBundle.putSerializable(C.BroadKey.Info, list.toArray());
broadIntent.putExtras(castBundle);
接收
Object[] cobjs = (Object[]) intent.getSerializableExtra(C.BroadKey.Info);
for(Object obj:cobjs){
list.add((Info)obj);
}
同样也要
implements Serializable
分享到:
相关推荐
"Android通过Intent传递数据"这一主题,涵盖了Intent的基本使用和数据传递的方式。 Intent分为显式Intent和隐式Intent。显式Intent明确指定要启动的目标组件,而隐式Intent则不指定具体接收者,而是根据Intent的...
总的来说,Android Intent的复杂参数传递涉及多种技术,包括基础类型列表、序列化和Parcelable接口。选择哪种方法取决于你的需求,如性能、代码复杂性和兼容性。在实际项目中,权衡这些因素并选择最合适的传递方式至...
下面将详细解释如何使用EventBus替代Intent传递复杂数据。 ### EventBus的核心概念 1. **发布者(Publisher)**:发布事件的组件,通常是在某个操作完成后,需要向其他组件发送消息的类。 2. **订阅者(Subscriber...
- 为了简化Intent的使用,可以创建一个工具类或基类,提供方便的方法来处理参数传递。例如,可以创建一个`IntentUtils`类,包含`buildIntent(Context context, Class<T> clazz, Bundle extras)`方法,接收目标...
接下来,我们将重点讲解如何在页面之间通过Intent传递参数。 1. 创建Intent对象:在源Activity中,创建一个Intent实例,通常用`new Intent(this, TargetActivity.class)`,其中`this`代表当前Activity,`...
在实际开发中,可能会遇到更复杂的数据传递需求,例如传递复杂对象。这时,可以使用Parcelable或Serializable接口。Parcelable是Android特有的序列化方式,效率更高,适用于频繁的数据交换;Serializable是Java的...
- 过多的Intent传递可能导致性能问题,因此应尽量减少不必要的数据传递,优化Intent使用。 总之,Intent是Android开发中的核心概念之一,熟练掌握Intent的使用,对于构建高效、灵活的应用至关重要。理解并熟练运用...
在Android应用开发中,Intent是一种强大的机制,它用于在组件之间传递消息,是应用程序中不同组件(如Activity、Service、BroadcastReceiver)之间交互的核心工具。Intent不仅能够启动其他组件,还可以用于在组件间...
- `Extras`是一个`Bundle`对象,用于携带键值对参数,是组件间传递复杂数据的有效方式。 #### Flags - `Flags`用于控制Intent的执行方式,如`FLAG_ACTIVITY_NEW_TASK`可确保Intent在一个新的任务栈中运行,适用于...
在Android开发中,Intent是一个非常重要的概念,它用于在组件之间传递消息,是Android系统启动服务、启动或跳转Activity的主要手段。本篇文章将详细解释Intent的基本使用以及如何通过Intent实现在两个Activities之间...
在Android应用开发中,...总结,Intent结合Bundle是Android中传递复杂数据的有效手段。理解并熟练运用Bundle的存储和获取机制,能帮助开发者更好地实现Activity间的通信,同时遵循最佳实践,确保应用的稳定性和性能。
这里使用了构造函数`Intent(Context packageContext, Class<?> cls)`来初始化Intent,其中第一个参数是当前Activity的上下文,第二个参数是要跳转的目标Activity的类。 2. **设置Intent标志**: - `intent....
`Intent`是Android开发中不可或缺的一部分,它不仅简化了组件间的通信,还提供了灵活的方式来构建复杂的应用程序。通过理解`Intent`的关键属性及其用法,开发者可以更好地设计和实现应用程序的功能,提高用户体验。
### Android Activity和Intent机制详解 #### 一、Activity机制概览 **1.1 定义及作用** ...综上所述,Android中的Activity和Intent机制是非常重要的概念,掌握它们有助于开发者更好地构建复杂的应用程序。
本实例将深入讲解如何在Eclipse V4.2.0环境下,使用Intent对象来实现在Android Activity之间简单地传递参数。 首先,我们需要了解Intent的作用。Intent在Android系统中扮演着消息传递的角色,它能够启动新的...
在Android应用开发中,Intent是连接应用程序组件的重要桥梁,它被用来启动新的Activity或Service,也可以传递数据。本文将深入探讨如何在两个Activity之间通过Intent进行数据传递。 首先,理解Intent的基本概念。...
在Android开发中,有时我们需要实现一个应用程序(APK)调用另一个应用程序并传递参数的功能。这通常是通过Intent机制来完成的,Intent是Android系统中用于启动活动(Activity)、服务(Service)或者其他组件的一种...
图片资源通常不直接通过Intent传递,因为可能会导致Intent过大,影响应用性能。通常的做法是将图片保存到外部存储或内部存储,然后传递图片的URI或路径。在接收端,可以使用ContentResolver或FileInputStream读取...