Sobes.tech
Junior — Middle

Kā īstenot individuālo vai grupas pieprasījumu sūtīšanu?

sobes.tech AI

Atbilde no AI

Lai nosūtītu vienreizējas vai grupas pieprasījumus Android, parasti izmanto tīkla operāciju bibliotēkas, piemēram, Retrofit, Volley vai standarta HttpURLConnection klases.

Vienreizējs pieprasījums:

  • Izveido pieprasījuma objektu ar nepieciešamo URL un parametriem.
  • Tas tiek nosūtīts asinhroni, un rezultāts tiek apstrādāts atpildes funkcijā.

Grupas pieprasījumi:

  • Vairāki pieprasījumi var tikt nosūtīti paralēli, izmantojot, piemēram, ExecutorService vai bibliotēkas iespējas.
  • Sekvencējs sūtīšanai — uzsākt nākamo pieprasījumu iepriekšējā atpildes funkcijā.
  • Paralēlai rezultātu apstrādei — izmantot CountDownLatch, CompletableFuture vai RxJava.

Piemērs ar Retrofit vienreizējam pieprasījumam:

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();
            // apstrāde
        }
    }

    @Override
    public void onFailure(Call<User> call, Throwable t) {
        // kļūdas apstrāde
    }
});

Grupas pieprasījumiem var sākt vairākus šādus izsaukumus paralēli un apstrādāt rezultātus, kad tie kļūst pieejami.