gpt4 book ai didi

android - Socket/DataOutputStream/DataInputStream 是可分包的吗?

转载 作者:行者123 更新时间:2023-11-29 23:25:31 25 4
gpt4 key购买 nike

我正在 android studio 中编写应用程序,我想使用 Intent.putExtra() 传递数据。为此,我需要对象来实现 Parcelable。问题是我的对象有像 Socket 或 DataOutputStream 这样的变量。为了实现 Parcelable,我还需要变量是可打包的。

我的问题是:Socket 和 DataOutputStream/DataInputStream 是否可以打包?如果不是,我如何在 android studio 的两个 Activity 之间传递它们?

最佳答案

不,你不能这样做。您作为“额外”放入 Intent 中的参数需要能够序列化为字节流并永久存储在您的应用程序之外。 Android 会这样做,以防它需要终止托管您的应用程序的操作系统进程。当 Android 创建一个新的操作系统进程时,它会重新实例化您的组件并传递带有这些额外内容的 Intent

因此,您不能像这样传递套接字或流。

只需将对套接字或流的引用存储在一个static 变量中,这就可以由多个组件直接“共享”,例如“全局变量”。

关于android - Socket/DataOutputStream/DataInputStream 是可分包的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53659497/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com