Sobes.tech
Junior — Middle

Jak implementovat odesílání jednotlivých nebo skupinových požadavků?

sobes.tech AI

Odpověď od AI

Pro odeslání jednotlivých nebo skupinových požadavků v Androidu se obvykle používají knihovny pro síťové operace, například Retrofit, Volley nebo standardní třídy HttpURLConnection.

Jednotlivý požadavek:

  • Vytvoří se objekt požadavku s potřebnou URL a parametry.
  • Odesílá se asynchronně, výsledek se zpracovává v callbacku.

Skupinové požadavky:

  • Může se odeslat několik požadavků paralelně, například pomocí ExecutorService nebo možností knihovny.
  • Pro sekvenční odeslání — spustit další požadavek v callbacku předchozího.
  • Pro paralelní zpracování výsledků — použít CountDownLatch, CompletableFuture nebo RxJava.

Příklad s Retrofit pro jednotlivý požadavek:

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();
            // zpracování
        }
    }

    @Override
    public void onFailure(Call<User> call, Throwable t) {
        // zpracování chyby
    }
});

Pro skupinové požadavky lze spustit několik takových volání paralelně a zpracovávat výsledky podle jejich dostupnosti.