📋 作者介绍:友友们好我是乱披风锤,大二学生党一枚
💖作者主页:乱披风锤的个人博客主页.跳转到个人简介
🔥我和友友们一样喜欢编辑,天天敲代码🤭,沉迷学习,日渐消瘦。很荣幸能向大家分享我的所学,和大家一起进步。如果文章有错误,欢迎在评论区指正。那么开始今天的学习吧!
🎉 支持我:点赞👍+收藏⭐️+留言📝
Android Studio 第十课(网络编程2)
一、准备工作,开启网络访问权限
AndroidManifest.xml加入
<uses-permission android:name="android.permission.INTERNET"/>
android:usesCleartextTraffic="true"
二、导包,添加依赖
implementation 'com.google.code.gson:gson:2.9.0'
implementation("com.squareup.okhttp3:okhttp:4.9.3")
三、在fastmock中解析Gson,复制完整接口地址,将地址放入url
四、核心代码
OkHttpClient okHttpClient=new OkHttpClient();
Request request=new Request
.Builder()
.url("https://www.fastmock.site/mock/e311152213834d9887108e10e5719090/getstudent/getstudent")
.get().build();
Call call=okHttpClient.newCall(request);
call.enqueue(new Callback() {
@Override
public void onFailure(@NonNull Call call, @NonNull IOException e) {
//请求失败时
}
@Override
public void onResponse(@NonNull Call call, @NonNull Response response) throws IOException {
// Log.i("OKHttpClient",response.body().string());
String result=response.body().string();
Log.i("OKHttpClient",result);
Gson gson=new Gson();
Student student=gson.fromJson(result,Student.class);
runOnUiThread(new Runnable() {
@Override
public void run() {
textView.setText(student.name);
}
});
}
});
学生类
package com.hnucm.network2;
import com.google.gson.annotations.SerializedName;
//{
// "age": 30,
// "name": "张三",
// "isstudent": true
// }
//@lombok.NoArgsConstructor
//@lombok.Data
public class Student {
@SerializedName("age")
public Integer age;
@SerializedName("name")
public String name;
@SerializedName("isstudent")
public Boolean isstudent;
// public int age;
// public String name;
// public boolean isstudent;
// @SerializedName("class")
// public MyClass class1;
// public class MyClass{
// public String grade;
// public String classname;
// }
}
总结
好了,那么今天的学习就到这里了。友友们觉得不错的可以给个关注,点赞或者收藏哦!感谢各位友友们的支持。以下的代码希望各位大佬们自行检验哦,毕竟亲手操作让记忆更加深刻。