【发布时间】:2020-02-15 08:24:28
【问题描述】:
我是安卓初学者。我确实有一些java经验,但有一段时间无法解决这个问题。
以下是一些背景信息: 我正在尝试制作一个移动应用程序,它从图库或相机中选择图像,然后将其发送到我的服务器。我完成了选择图像,将其转换为base64,但不知何故我无法完成http post请求的功能。我希望这个函数从服务器返回响应,但我失败了。
我已经用注释突出显示了函数的一部分。我不明白的部分是重写方法。正如我所说,我是一个初学者,Android Studio 让我包含这些方法(OnResponse,OnFailure),使用这些方法我无法返回响应,因为它们是无效的;如果没有这些方法,我会遇到一个异常,我不知道它来自哪里。
public void postRequest(String postdata) throws IOException {
MediaType MEDIA_TYPE = MediaType.parse("application/json");
String url = "https://ptsv2.com/t/z497u-xxx/post";
OkHttpClient client = new OkHttpClient();
RequestBody body = RequestBody.create(MEDIA_TYPE, postdata);
Request request = new Request.Builder()
.url(url)
.post(body)
.build();
//THIS IS THE PART I DO NOT UNDERSTAND
client.newCall(request).enqueue(new Callback() {
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
message = response.body().string();
}
@Override
public void onFailure(@NotNull Call call, @NotNull IOException e) {
}
});
}
【问题讨论】: