如何为网络通话设置同步?

时间:2018-10-09 07:52:14

标签: java android database synchronized

我的应用程序通过某种方式提交重复的数据,我想通过设置同步的Submit方法来防止第二次调用必须等待第一次完成来防止这种情况,因此将提交的数据本地删除。

static synchronized public void submitStatistics(final User user,
                                    final Consumer<String> onSuccess, final Consumer<Enum.ErrorCode> onError) {
    JSONArray statistics = Statistic.getAllItemsAndConvertToJSONString();
    Rx2AndroidNetworking.post(urlBuilder(SUBMIT_STATISTICS))
            .addQueryParameter(getDefaultParams())
            .addJSONArrayBody(statistics)
            .build()
            .getStringObservable()
            .subscribeOn(Schedulers.io())
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe(new ObserverWrapper<String>(errorCode -> {
                onError.accept(errorCode);
            }) {
                @Override
                protected void onSuccess(String s) {
                    Statistic.deleteSubmittedItems();
                    onSuccess.accept(s);
                }
            });
}

调用

时服务器上的数据将重复
submitStatistics();
submitStatistics();

我正在寻找在我的应用程序中同时调用两次的原因,但我想知道如何在这种情况下同步应用。目前,两个帖子同时发送。请指教。谢谢

0 个答案:

没有答案