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
ExecutorServicelub możliwości biblioteki. - Do wysyłania sekwencyjnego — uruchamiać kolejne żądanie w callbacku poprzedniego.
- Do równoległego przetwarzania wyników — używać
CountDownLatch,CompletableFuturelub 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.