封装类
package com.lyarn.study;
import java.util.Map;
import okhttp3.FormBody;
import okhttp3.MediaType;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
public class NetWork {
public static void get(String url,okhttp3.Callback callback){
OkHttpClient okHttpClient=new OkHttpClient();
Request request=new Request.Builder()
.url(url)
.build();
okHttpClient.newCall(request).enqueue(callback);
}
public static void postJ(String url,String json,okhttp3.Callback callback){
OkHttpClient okHttpClient=new OkHttpClient();
RequestBody requestBody=RequestBody
.create(MediaType.parse("application/json"),json);
Request request=new Request.Builder()
.url(url)
.post(requestBody)
.build();
okHttpClient.newCall(request).enqueue(callback);
}
public static void postF(String url, Map<String,String> map,okhttp3.Callback callback){
FormBody.Builder builder=new FormBody.Builder();
for (String key:map.keySet()){
builder.add(key,map.get(key));
}
OkHttpClient okHttpClient=new OkHttpClient();
Request request=new Request.Builder()
.url(url)
.post(builder.build())
.build();
okHttpClient.newCall(request).enqueue(callback);
}
}
调用类
package com.lyarn.study;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import java.io.IOException;
import java.util.HashMap;
import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.Response;
public class NetWorkTest extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_net_work_test);
Button button=findViewById(R.id.NetWorkTestButton);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
HashMap hashMap=new HashMap();
hashMap.put("city","广州");
NetWork.postF("https://api.isoyu.com/api/Weather/get_weather", hashMap, new Callback() {
@Override
public void onFailure(Call call, IOException e) {
Log.d("e", String.valueOf(e));
}
@Override
public void onResponse(Call call, Response response) throws IOException {
String res=response.body().string();
Log.d("res",res);
}
});
}
});
}
}