小编Ben*_*hee的帖子

在SyncAdapter onPerformSync中调整网络调用

我通过SyncAdapter onPerformSync发送几个改装调用,我试图通过try/catch sleep语句发送来调节http调用.但是,这会阻止UI,并且只有在完成所有调用后才会响应.

什么是在onPerformSync中在后台调节网络调用(使用睡眠定时器)而不阻止UI的更好方法?

  @Override
  public void onPerformSync(Account account, Bundle extras, String authority, ContentProviderClient provider, SyncResult syncResult) {

        String baseUrl = BuildConfig.API_BASE_URL;

        Retrofit retrofit = new Retrofit.Builder()
                .baseUrl(baseUrl)
                .addConverterFactory(GsonConverterFactory.create())
                .build();

        service = retrofit.create(HTTPService.class);

        Call<RetroFitModel> RetroFitModelCall = service.getRetroFit(apiKey, sortOrder);
        RetroFitModelCall.enqueue(new Callback<RetroFitModel>() {
            @Override
            public void onResponse(Response<RetroFitModel> response) {
                if (!response.isSuccess()) {
                } else {
                    List<RetroFitResult> retrofitResultList = response.body().getResults();
                    Utility.storeList(getContext(), retrofitResultList);

                    for (final RetroFitResult result : retrofitResultList) {
                        RetroFitReview(result.getId(), service);

                        try {
                        // Sleep for SLEEP_TIME before running RetroFitReports & RetroFitTime
                            Thread.sleep(SLEEP_TIME); …
Run Code Online (Sandbox Code Playgroud)

android-syncadapter retrofit2

4
推荐指数
1
解决办法
1397
查看次数

标签 统计

android-syncadapter ×1

retrofit2 ×1