//需要导入okhttp依赖
public class MainActivity extends AppCompatActivity {
private Button tong,yi;
private String url="http://172.17.8.100/movieApi/movie/v1/findHotMovieList?page=1&count=5";
private Handler handler=new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
if (msg.what==1){
String string= (String) msg.obj;
Log.i("aaa", "handleMessage: "+string);
}
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tong=findViewById(R.id.tong);
yi=findViewById(R.id.yi);
//同步请求
Qtong();
//异步请求
Qyi();
}
//异步请求
private void Qyi() {
yi.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//创建okhttp
OkHttpClient client = new OkHttpClient();
//c创建reqesr builder对象
Request.Builder builder = new Request.Builder();
Request.Builder url1 = builder.url(url);
Request build = url1.build();
Call call = client.newCall(build);
call.enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
}
@Override
public void onResponse(Call call, Response response) throws IOException {
String str=response.body().string();
Message bt = Message.obtain();
bt.obj=str;
bt.what=1;
handler.sendMessage(bt);
}
});
}
});
}
//同步请求
private void Qtong() {
tong.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//需要创建子线程
new Thread(new Runnable() {
@Override
public void run() {
//创建okhttp
OkHttpClient client = new OkHttpClient().newBuilder().build();
Request build1 = new Request.Builder().url(url).build();
Response response=null;
try{
Response execute = client.newCall(build1).execute();
String str=execute.body().string();
Message bt = Message.obtain();
bt.obj=str;
bt.what=1;
handler.sendMessage(bt);
}catch (Exception e){
e.printStackTrace();
}
}
}).start();
}
});
}
}