本人初学,记录笔记防止遗忘。
1,请求网络权限 ,在AndroidManifest.xml
<uses-permission android:name="android.permission.INTERNET" />
2,导入引用库
implementation("com.squareup.okhttp3:okhttp:4.9.2")
3,请求
第一种,同步执行,所以放入子线程
执行
private void OkHttpDemo(){
new Thread(new Runnable(){
public void run(){
try{
OkHttpClient client = new OkHttpClient();
RequestBody formBody = new FormBody.Builder()
.add("client", "ios")
.add("type", "1")
.add("account", "555")
.add("password", "123456")
.add("1234", "systems")
.build();
Request request = new Request.Builder()
.url("https://t.fc1111.com/api/user/login")
.post(formBody)
.build();
Response response = client.newCall(request).execute();
String data = response.body().string();
System.out.println("=======" + data);
}catch(Exception e){
e.printStackTrace();
System.out.println("=======");
}
}
}).start();
}
第二种,应该是OkHttp帮你做了异步操作,可以直接调用,不用开辟线程
OkHttpClient client = new OkHttpClient();
RequestBody formBody = new FormBody.Builder()
.add("client", "ios")
.add("type", "1")
.add("account", "555")
.add("password", "123456")
.add("1234", "systems")
.build();
Request request = new Request.Builder()
.url("https://t.fc1111.com/api/user/login")
.post(formBody)
.build();
client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(@NotNull Call call, @NotNull IOException e) {
System.out.println("=======+++++" +e);
}
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
String data = response.body().string();
System.out.println("=======" + data);
}
});
网友评论