OkHttp 3 for Beginners

Hello everyone. Recently I started learning Java for android and a lot of questions arose. One of them is that I can't figure out how to use the OkHttp3 library to send a post request. A simple post without json. If there are examples, tutorials, etc. I would like to read.

Author: Виктор, 2017-12-16

1 answers

//через клиент шлём запрос
OkHttpClient client = new OkHttpClient();
//в formBody кладём параметры запроса
RequestBody formBody = new FormBody.Builder()
        .add("message", "Your message")
        .build();
//создаём запрос, указывая адрес и параметры
Request request = new Request.Builder()
        .url("http://www.foo.bar/index.php")
        .post(formBody)
        .build();

//исполняем запрос синхронно, в том потоке, в коем вызываем `execute`
try {
    Response response = client.newCall(request).execute();

    String serverAnswer = response.body().string();
} catch (IOException e) {
    e.printStackTrace();
}

//исполняем запрос асинхронно
client.newCall(request).enqueue(new Callback() {
    @Override
    public void onFailure(Request request, IOException e) {
        //ВАЖНО! Тут не главный поток, менять UI отсюда нельзя, надо на UI-поток переключаться
        e.printStackTrace();
    }

    @Override
    public void onResponse(Response response) throws IOException {
        //ВАЖНО! Тут не главный поток, менять UI отсюда нельзя, надо на UI-поток переключаться
        String serverAnswer = response.body().string();
    }
});
 7
Author: ЮрийСПб, 2020-05-06 08:40:57