android - 如何在 Android 中发送带有 Intent 的自定义数据对象?

标签 android

Android 中的 Intent 是一种在非耦合组件之间传递消息的优雅方式,但如果您想使用 Intent 发送额外数据怎么办?我知道您可以添加各种值类型和实现 Parcelable 的对象作为附加功能,但这并不能真正满足在本地发送用户定义的类型(即不通过远程接口(interface))。有什么想法吗?

最佳答案

在您的类型中,您可以实现Serializable 接口(interface)并调用Intent.putExtra(String, Serializable) 方法将其包含在 Intent 中。我考虑过自己解决类似的问题,但选择只将数据放在一个包中,因为我的类型只有两个字段而且不值得付出努力。

这就是它的工作原理,假设您已经在 Foo 上实现了 Serializable:

Foo test = new Foo();
test.Name = "name";
test.Value = "value";

Intent intent = new Intent();
intent.putExtra("test", test);

关于android - 如何在 Android 中发送带有 Intent 的自定义数据对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3372827/

相关文章:

android - 如何在 android 中为 tcp 套接字强制发送 RST 而不是 FIN

android - 我尝试在Android Studio上模拟项目时出错

android - 启动 Activity 并清除 Activity 历史记录

java - Gradle android找不到符号上下文

java - 使用 Dagger 注入(inject)登录 session

Android 应用程序挂起,有时直到出现“强制关闭/等待”对话框

java - 尝试在 Cast.writetoParcel 的空对象引用上调用虚拟方法 'int.java.lang.Integer.intValue()'

android - 选中的复选框不应取消选中

android - 形状为背景,边框很小

Android Volley 检索图像