【问题标题】:Convert object to byte array (to send it through a socket). then convert it back将对象转换为字节数组(通过套接字发送)。然后将其转换回来
【发布时间】:2011-08-17 19:09:24
【问题描述】:

我有以下类定义:

public class Message {
     private String sender, text;

     public Message(String sender, String text) {
         this.sender = sender;
         this.text = text;
     }

}

我希望能够通过蓝牙套接字发送这个 Message 类的实例。为此,需要将其转换为 byte[]。发送后,我需要将其转换回 Message 对象(在套接字的另一侧)。我怎样才能做到这一点?

【问题讨论】:

    标签: android serialization parcelable


    【解决方案1】:

    两个可能的答案 可序列化与可打包

    Serializable 相对容易实现,但在内存和 CPU 方面效率不高

    http://developer.android.com/reference/java/io/Serializable.html

    Parcelable 实现起来更复杂,但在内存和 CPU 方面更高效

    http://developer.android.com/reference/android/os/Parcelable.html

    【讨论】:

      【解决方案2】:
      【解决方案3】:

      您可以定义一个函数,该函数返回一个byte[],然后在通过蓝牙发送它之前调用它。字节数组可能类似于{ sendersize, textsize, sender, text }。还要定义一个函数来恢复进程并在另一端调用它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-04-14
        • 1970-01-01
        • 1970-01-01
        • 2021-06-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多