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.
1
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