-
package com.wq.shopping.okhttp.impl; import android.content.Context; import android.widget.Toast; import androidx.appcompat.app.AppCompatActivity; import com.wq.shopping.file.Impl.SaveDiskImpl; import com.wq.shopping.okhttp.OkHttpService; import com.wq.shopping.pojo.HttpData; import org.jetbrains.annotations.NotNull; import java.io.IOException; import java.net.HttpURLConnection; import java.util.concurrent.TimeUnit; import okhttp3.Call; import okhttp3.Callback; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; import okhttp3.ResponseBody; public class OkHttpServiceImpl extends AppCompatActivity implements OkHttpService { //配置浏览器 OkHttpClient okHttpClient = new OkHttpClient.Builder() .connectTimeout(2000, TimeUnit.MILLISECONDS) .build(); HttpData hd=new HttpData(); @Override public int getRequest(Context context, SaveDiskImpl saveDiskImpl) { hd.setFlag(false); //查询ip String ip = saveDiskImpl.select("ip"); if (ip != null) { System.out.println(ip); } String url = "http://" + ip + ":8080/web"; System.out.println(url); //创建请求内容 Request request = new Request.Builder() .get() .url(url + "/user/init") .build(); //用浏览器 创建请求业务 Call task = okHttpClient.newCall(request); //异步请求 try { task.enqueue(new Callback() { @Override public void onFailure(@NotNull Call call, @NotNull IOException e) { //失败 System.out.println("失败" + e.toString()); if (e.toString()!=null){ Toast.makeText(context, "404你懂的", Toast.LENGTH_LONG).show(); } } @Override public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException { //响应内容 int code = response.code(); System.out.println("-------.code----->" + code); if (code== HttpURLConnection.HTTP_OK){ //传参 synchronized (hd){ if (hd.isFlag()){ try { hd.wait(); } catch (InterruptedException e) { e.printStackTrace(); } } hd.setNumb(code); hd.setFlag(true); hd.notify(); } } ResponseBody body = response.body(); System.out.println(body); } }); }catch (Exception e){ String s = e.toString(); System.out.println(s); }finally { synchronized (hd){ if (!hd.isFlag()){ try { hd.wait(); } catch (InterruptedException e) { e.printStackTrace(); } } hd.setFlag(false); hd.notify(); return hd.getNumb(); } } } }
2021-03-10
最新推荐文章于 2021-11-21 12:10:25 发布