Sobes.tech
Junior — Middle

Aké nástroje a knižnice používaš na implementáciu sieťových protokolov a sieťovej komunikácie?

sobes.tech AI

Odpoveď od AI

Pre implementácie sieťových protokolov a sieťovej interakcie v Androidu sa často používajú nasledujúce nástroje a knižnice:

  • OkHttp — výkonná knižnica klienta HTTP, podporuje asynchrónne požiadavky, cache a interceptory.
  • Retrofit — knižnica na jednoduché vytváranie REST API klientov nad OkHttp, umožňuje opisovať API rozhrania a automaticky analyzovať odpovede.
  • Volley — knižnica od Google na sieťové požiadavky s podporou frontov a cache.
  • WebSocket — na prácu s protokolom WebSocket možno použiť OkHttp alebo špecializované knižnice, napríklad Java-WebSocket.
  • Socket API — na nízkoúrovňovú interakciu cez TCP/UDP možno použiť štandardné Java sokety.

Príklad použitia Retrofit pre GET požiadavku:

public interface ApiService {
    @GET("users/{user}")
    Call<User> getUser(@Path("user") String userId);
}

Retrofit retrofit = new Retrofit.Builder()
    .baseUrl("https://api.example.com/")
    .addConverterFactory(GsonConverterFactory.create())
    .build();

ApiService service = retrofit.create(ApiService.class);
Call<User> call = service.getUser("123");
call.enqueue(new Callback<User>() {
    @Override
    public void onResponse(Call<User> call, Response<User> response) {
        if (response.isSuccessful()) {
            User user = response.body();
            // spracovanie dát
        }
    }

    @Override
    public void onFailure(Call<User> call, Throwable t) {
        // spracovanie chyby
    }
});