如何在Android和iOS上的客户端和服务器之间发送Java对象?

时间:2017-02-12 14:32:36

标签: gluon-mobile

我有一个客户端和服务器都是用Java编写的,并且共享应该在彼此之间发送的Java类。我不确定我可以在移动设备上使用哪些库,因为我不知道Dalvik支持什么,RoboVM支持什么等等。在这种情况下,不确定Gluon Mobile能为我做什么。

具体来说,我有一个看起来像这样的文件:

class Data {
    IntegerProperty int1 = new SimpleIntegerProperty(4);
    ObjectProperty<Person> person = new SimpleObjectProperty();
    ObservableList<Contact> contacts = FXCollections.observableArrayList();
    // other properties
    // also add the getters for the properties and the getters and setters for the values
}

PersonContact与上面的类似 - 它们主要包含数据属性和一些添加和删除内部(私有)列表等的方法。基本上它们就像bean或POJO只有属性包装。这是需要在服务器和客户端之间发送的数据,但只有包装的值很重要 - 而不是绑定。这引出了关于序列化的观点:javaFX属性不是可序列化的,因此建议here使这样的类成为上面的可外化的,并写入和读取包装的值。

最终我不在乎我是否需要做这些自定义的东西(虽然它需要做很多工作)或者是否有办法绕过它。我需要客户端可以调用的服务器上的方法Data receiveDatafor(...),服务器获取Data data并返回它。客户端和服务器都有自己与Data对象无关的绑定。

目前我们在内部使用RMI用于桌面。我读到RMI不受支持,但它可能不是一个很好的选项,但它确实允许真正轻松地发送java对象。 JavaEE has websockets可以传输对象的二进制形式,但它是JavaEE,所以我猜不支持。我不反对JSONing并发送文本,但似乎更多的工作而不仅仅是序列化 - 可能是错误的。通信方法应支持加密,例如在发送密码时。我有什么选择?

0 个答案:

没有答案