Sobes.tech
Junior — Middle

Ako implementovať odosielanie jednotlivých alebo skupinových požiadaviek?

sobes.tech AI

Odpoveď od AI

Za odoslanie jednotlivých alebo skupinových požiadaviek v Androidu sa zvyčajne používajú knižnice pre sieťové operácie, ako Retrofit, Volley alebo štandardné triedy HttpURLConnection.

Jednotlivá požiadavka:

  • Vytvorí sa objekt požiadavky s potrebným URL a parametrami.
  • Odosiela sa asynchrónne, výsledok sa spracováva v callbacku.

Skupinové požiadavky:

  • Môžu sa odoslať viaceré požiadavky paralelne, napríklad pomocou ExecutorService alebo možností knižnice.
  • Pre sekvenčné odoslanie — spustiť ďalšiu požiadavku v callbacku predchádzajúcej.
  • Pre paralelné spracovanie výsledkov — použiť CountDownLatch, CompletableFuture alebo RxJava.

Príklad s Retrofit pre jednotlivú požiadavku:

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();
            // spracovanie
        }
    }

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

Pre skupinové požiadavky môžete spustiť niekoľko takýchto volaní paralelne a spracovávať výsledky, keď sú dostupné.