Sobes.tech
Junior — Middle

Kako implementirati slanje pojedinačnih ili grupnih zahteva?

sobes.tech АИ

Одговор од АИ

Za slanje pojedinačnih ili grupnih zahteva u Androidu, obično se koriste biblioteke za mrežne operacije, poput Retrofit, Volley ili standardne klase HttpURLConnection.

Pojedinačni zahtev:

  • Kreira se objekat zahteva sa potrebnim URL-om i parametrima.
  • Šalje se asinhrono, a rezultat se obrađuje u callback-u.

Grupni zahtevi:

  • Može se poslati više zahteva paralelno, koristeći na primer ExecutorService ili mogućnosti biblioteke.
  • Za sekvencijalno slanje — pokrenuti sledeći zahtev u callback-u prethodnog.
  • Za paralelnu obradu rezultata — koristiti CountDownLatch, CompletableFuture ili RxJava.

Primer sa Retrofit-om za pojedinačni zahtev:

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

    @Override
    public void onFailure(Call<User> call, Throwable t) {
        // obrada greške
    }
});

Za grupne zahteve, možete pokrenuti više takvih poziva paralelno i obrađivati rezultate onoliko brzo koliko su dostupni.