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
ExecutorServiceili mogućnosti biblioteke. - Za sekvencijalno slanje — pokrenuti sledeći zahtev u callback-u prethodnog.
- Za paralelnu obradu rezultata — koristiti
CountDownLatch,CompletableFutureili 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.