Sobes.tech
Junior — Middle

Jak zaimplementować wysyłanie pojedynczych lub grupowych zapytań?

sobes.tech AI

Odpowiedź od AI

Aby wysłać pojedyncze lub grupowe żądania w Androidzie, zwykle korzysta się z bibliotek do operacji sieciowych, takich jak Retrofit, Volley lub standardowe klasy HttpURLConnection.

Pojedyncze żądanie:

  • Tworzy się obiekt żądania z odpowiednim URL i parametrami.
  • Wysyła się je asynchronicznie, a wynik jest obsługiwany w callbacku.

Żądania grupowe:

  • Można wysłać kilka żądań równolegle, używając na przykład ExecutorService lub możliwości biblioteki.
  • Do wysyłania sekwencyjnego — uruchamiać kolejne żądanie w callbacku poprzedniego.
  • Do równoległego przetwarzania wyników — używać CountDownLatch, CompletableFuture lub RxJava.

Przykład z Retrofit dla pojedynczego żądania:

interface ApiService {
    @GET("users/{id}")
    Call<User> getUser(@Path("id") int userId);
}

ApiService api = retrofit.create(ApiService.class);
api.getUser(1).enqueue(new Callback<User>() {
    @Override
    public void onResponse(Call<User> call, Response<User> response) {
        if (response.isSuccessful()) {
            User user = response.body();
            // obsługa
        }
    }

    @Override
    public void onFailure(Call<User> call, Throwable t) {
        // obsługa błędu
    }
});

Dla żądań grupowych można uruchomić kilka takich wywołań równolegle i obsługiwać wyniki w miarę ich dostępności.