package com.example.day12okhttp; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import java.io.IOException; import okhttp3.Call; import okhttp3.Callback; import okhttp3.FormBody; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; //第一步在build里面添加依赖添加到modul里面 //第二部创建okhttpclient 客户端对象 public class MainActivity extends AppCompatActivity { String url ="http://www.meirixue.com/api.php?c=index&a=index"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } //okhttp get同步请求网络 public void get(View v){ new Thread(){ @Override public void run() { super.run(); //创建客户端对像 OkHttpClient client = new OkHttpClient(); //request 里面我们可以做一些请求的地址,请求方式, Request request = new Request.Builder() .url(url) .build(); //去请求网络网络 okhttp有同步请求和异步请求 execute enqueue异步请求 try { //从服务器端返回的response Response response = client.newCall(request).execute(); //从服务器返回的json字符串 String json = response.body().string(); Log.e("MainActivity",json); } catch (IOException e) { e.printStackTrace(); } } }.start(); } //get异步请求 public void getyi(View v){ new Thread(){ @Override public void run() { super.run(); OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url(url) .build(); try { client.newCall(request).enqueue(new Callback() { //请求失败 @Override public void onFailure(Call call, IOException e) { } //请求成功 @Override public void onResponse(Call call, Response response) throws IOException { String json = response.body().string(); Log.e("aaaaaa",json); } }); } catch (Exception e) { e.printStackTrace(); } } }.start(); } //post请求 public void postyi(View v){ String url ="https://www.zhaoapi.cn/user/login"; OkHttpClient client = new OkHttpClient(); FormBody formBody = new FormBody.Builder() .add("mobile", "15715317583") .add("password", "123456") .build(); Request request = new Request.Builder() .url(url) .post(formBody) .build(); client.newCall(request).enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { } @Override public void onResponse(Call call, Response response) throws IOException { String json = response.body().string(); Log.e("aaaaaa",json); } }); } }
okttp的get异步和同步 post的异步简单使用情况
最新推荐文章于 2022-03-01 19:32:38 发布