2

我正在通过 Android 上的 odata4j 实现 RESTlet 服务。

运行应用程序时,有一个恒定的数据流,需要将其发送到 odata 服务器。

以下方法获取新数据:

private void freshData(Data data) {
    try {
        dataTransmitter.sendData(data, this.ptId);
    } catch (Exception ex) {
        //
    }

以下方法将数据发送到服务器:

ODataJerseyConsumer c = ODataJerseyConsumer.create(serviceUrl);

public void sendData(Data data, int ptId) throws Exception {
    OEntity newData = c.createEntity(entitySet)
            .properties(OProperties.int32("ptID", ptID), 
             OProperties.double_("data", data.getDouble())))
            .execute;

到目前为止没有问题。但是,如果移动连接被切断或滞后怎么办?

1)有没有办法从execute()(例如积极发送,或没有移动连接)获取状态。

2)如果发送失败,或者仍在进行中,当旧数据用完时,我需要以某种方式存储新数据以发送它。odata4j (0.8-SNAPSHOT) 中是否有可用的功能我还没有找到,或者我是否需要使用队列来执行此操作?

感谢您的帮助!

4

0 回答 0