APP
public class App extends Application { private static OkHttpClient okHttpClient; @Override public void onCreate() { super.onCreate(); okHttpClient = new OkHttpClient(); okHttpClient = okHttpClient.newBuilder() .connectTimeout(10, TimeUnit.SECONDS) .readTimeout(10,TimeUnit.SECONDS) .addInterceptor(new MyLogInterceptor()) .build(); } public static OkHttpClient okHttpClient() { return okHttpClient; } public class MyLogInterceptor implements Interceptor{ @Override public Response intercept(Chain chain) throws IOException { Request request = chain.request().newBuilder() .header("shenfen", "chinesse") .build(); HttpUrl url = request.url(); String httpUrl = url.url().toString(); Log.e("TAG", "============" + httpUrl); Response response = chain.proceed(request); int code = response.code(); Log.e("TAG", "============response.code() == " + code); return response; } } }Activity
public class MainActivity extends AppCompatActivity implements View.OnClickListener { private OkHttpClient okHttpClient; private Response response; private Request request; private Button getbutton; private Button postbutton; private Button getyubu; private Button postyibu; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); getbutton = (Button) findViewById(R.id.getbutton); postbutton = (Button) findViewById(R.id.postbutton); getyubu = (Button) findViewById(R.id.getyibubutton); postyibu = (Button) findViewById(R.id.postyibubutton); getbutton.setOnClickListener(this); postbutton.setOnClickListener(this); getyubu.setOnClickListener(this); postyibu.setOnClickListener(this); okHttpClient = App.okHttpClient(); } @Override public void onClick(View v) { switch (v.getId()){ //同步 case R.id.getbutton: request = new Request.Builder() .url("http://www.baidu.com") .build(); new Thread(new Runnable() { @Override public void run() { try { response = okHttpClient.newCall(request).execute(); if (response.isSuccessful()){ // String json = response.body().string(); // InputStream inputStream = response.body().byteStream(); runOnUiThread(new Runnable() { @Override public void run() { Toast.makeText(MainActivity.this, "get请求成功", Toast.LENGTH_SHORT).show(); } }); } else { runOnUiThread(new Runnable() { @Override public void run() { Toast.makeText(MainActivity.this, "get请求失败", Toast.LENGTH_SHORT).show(); } }); } } catch (Exception e) { e.printStackTrace(); } } }).start(); break; // case R.id.postbutton: // break; case R.id.getyibubutton: //异步get request = new Request.Builder() .url("http://www.baidu.com") .build(); okHttpClient.newCall(request).enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { runOnUiThread(new Runnable() { @Override public void run() { Toast.makeText(MainActivity.this, "异步请求失败get", Toast.LENGTH_SHORT).show(); } }); } @Override public void onResponse(Call call, Response response) throws IOException { runOnUiThread(new Runnable() { @Override public void run() { Toast.makeText(MainActivity.this, "异步请求成功get", Toast.LENGTH_SHORT).show(); } }); } }); break; case R.id.postyibubutton: //异步post FormBody body = new FormBody.Builder() .add("type", "yuantong") .add("postid", "11111111111") .build(); request = new Request.Builder() .url("http://www.kuaidi100.com/query") .post(body) .build(); okHttpClient.newCall(request).enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { runOnUiThread(new Runnable() { @Override public void run() { Toast.makeText(MainActivity.this, "post请求失败", Toast.LENGTH_SHORT).show(); } }); } @Override public void onResponse(Call call, Response response) throws IOException { if (response.isSuccessful()) { runOnUiThread(new Runnable() { @Override public void run() { Toast.makeText(MainActivity.this, "post请求成功", Toast.LENGTH_SHORT).show(); } }); } } }); break; } } }