【问题标题】:Serialization Android intent序列化Android意图
【发布时间】:2012-05-30 13:59:32
【问题描述】:

我正在尝试实现一个应用程序来序列化 android 意图并通过套接字从客户端发送到服务器并在服务器上反序列化它。我尝试使用常规 java 序列化 API 在客户端序列化意图,但在运行时它是说意图不可序列化。是否有任何解决方案可以序列化意图并反序列化它?只是我需要提一下,我也将 kryo 用于序列化和反序列化,但我在反序列化时再次遇到错误。有什么解决办法吗?

BR, 拉

【问题讨论】:

    标签: android serialization android-intent deserialization


    【解决方案1】:

    我将创建一个新的Serializable 对象并添加您感兴趣的Intent 部分,即操作、捆绑参数等。

    Intent 对象本身不是Serializable

    另一种方法可能是编写自己的Parcel 实现,将值存储在另一个Serializable 对象类型中,然后将该对象序列化到服务器。您可以使用Intent.writeToParcel() api 将Intent 写入Parcel

    【讨论】:

    • 感谢您的提示,但您知道“Android 云到设备消息传递 (C2DM)”如何序列化意图并将消息发送到移动设备吗?
    • 不幸的是我没有使用 C2DM 的经验 :( 但是 C2DM 文档似乎涵盖了发送和接收developers.google.com/android/c2dm/#received_data
    【解决方案2】:

    我有幸使用 toUri() 序列化意图。不幸的是,相应的反序列化方法 Intent.parseUri 不可靠,并且经常返回 null,尽管序列化的数据看起来是有效的。

    【讨论】:

    • 而且 uri 不包含标志或所有额外内容。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-20
    • 2011-08-26
    • 1970-01-01
    • 2015-09-09
    相关资源
    最近更新 更多