OKHttp3学习之三:GET请求
需求:实现用户信息获取并在UI界面上显示
在app模块的build.gradle配置
compile 'com.squareup.okhttp3:okhttp:3.4.2'
compile 'com.squareup.picasso:picasso:2.5.2'
实现源码
public void getRequest(View view) {
OkHttpClient client = new OkHttpClient();
String url = SERVER_ADDRESS + "/user/info?id=1";
Request request = new Request.Builder().url(url).get().build();
client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
Log.i(TAG, "请求失败: " + e.getLocalizedMessage());
}
@Override
public void onResponse(Call call, Response response) throws IOException {
if (response.isSuccessful()) {
ResponseBody body = response.body();
if (body != null) {
String result = body.string();
Log.i(TAG, "返回成功: " + result);
body.close();
showUserInfo(result);
}
}
}
});
}
private void showUserInfo(final String result) {
//在主线程中实现UI更新
runOnUiThread(new Runnable() {
@Override
public void run() {
try {
JSONObject json = new JSONObject(result);
String id = json.optString("id");
String username = json.optString("username");
String head_url = json.optString("head_url");
mTvNickName.setText(username);
//利用Picasso图片加载框架实现头像异步加载
Picasso.with(MainActivity.this).load(head_url).resize(100, 100).centerCrop().into(mIvAvatar);
} catch (JSONException e) {
e.printStackTrace();
}
}
});
}
服务器返回数据
{
"head_url": "http://www.appblog.cn/images/avatar.png",
"id": "1",
"username": "Joe.Ye"
}
版权声明:
作者:Joe.Ye
链接:https://www.appblog.cn/index.php/2023/02/25/okhttp3-learning-3-get-request/
来源:APP全栈技术分享
文章版权归作者所有,未经允许请勿转载。
THE END
0
二维码
打赏
海报
OKHttp3学习之三:GET请求
需求:实现用户信息获取并在UI界面上显示
在app模块的build.gradle配置
compile 'com.squareup.okhttp3:okhttp:3.4.2'
compile 'com.squareup……
文章目录
关闭
共有 0 条评论