Ответ
В Android для сетевого взаимодействия чаще всего используют:
- HttpURLConnection - стандартный Java-класс для HTTP-запросов:
URL url = new URL("https://api.example.com/data");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
InputStream inputStream = conn.getInputStream();
- OkHttp - популярная библиотека от Square:
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://api.example.com/data")
.build();
Response response = client.newCall(request).execute();
- Retrofit - типобезопасный клиент для REST API:
interface ApiService {
@GET("data")
Call<Data> getData();
}
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("https://api.example.com/")
.build();
ApiService service = retrofit.create(ApiService.class);
-
Volley - HTTP-библиотека от Google для простых запросов
-
WebSockets - для двусторонней связи в реальном времени
-
gRPC - для высокопроизводительного RPC
Для всех способов важно выполнять запросы не в основном потоке (используя Coroutines, RxJava или AsyncTask) и обрабатывать ошибки сети.