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)の機能はありますか、またはたとえばキューでこれを行う必要がありますか?
お手伝いありがとう!