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
ExecutorServicealebo 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,CompletableFuturealebo 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é.