OkHttp网络封装(登录,注册,请求数据)

public class Okhttp {
//单例
private final static Okhttp OKHTTP = new Okhttp();

public Okhttp() {

}

public static Okhttp getdanli() {
    return OKHTTP;
}
//拦截器

private Interceptor getAppInterceptor(){
Interceptor interceptor=new Interceptor() {
@Override
public Response intercept(Chain chain) throws IOException {
Request request=chain.request();
Log.e("+++++++++++++++",“拦截前”);
Response response=chain.proceed(request);
Log.e("+++++++++++++++",“拦截后”);
return response;
}
};
return interceptor;
}
//耗时操作
private HttpUtils(){
File file=new File(Environment.getExternalStorageDirectory(),“cachell”);
client=new OkHttpClient().newBuilder()
.readTimeout(3000,TimeUnit.SECONDS)
.connectTimeout(3000,TimeUnit.SECONDS)
.addInterceptor(getAppInterceptor())
.cache(new Cache(file,10*1024))
.build();

// get请求接口数据
public void get(String url, final getokhttp getokhttp){
OkHttpClient okHttpClient = new OkHttpClient();
final Request request = new Request.Builder().url(url).build();
okHttpClient.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {

        }

        @Override
        public void onResponse(Call call, Response response) throws IOException {
            String string = response.body().string();
            getokhttp.getcheng(string);
        }
    });
}
//post请求登录注册接口
public void post(String url,String name,String pwd, final getokhttp getokhttp){
    OkHttpClient okHttpClient = new OkHttpClient();
   RequestBody requestBody =new FormBody.Builder().add("phone",name).add("pwd",pwd).build();
    Request request = new Request.Builder().url(url).post(requestBody).build();
    okHttpClient.newCall(request).enqueue(new Callback() {
        @Override
        public void onFailure(Call call, IOException e) {

        }

        @Override
        public void onResponse(Call call, Response response) throws IOException {
            String string = response.body().string();
            Log.i("AA","okhttp"+string);
            getokhttp.getcheng(string);
        }
    });
}
//内部接口 成功回调
public interface getokhttp{
    void getcheng(String s);
}

}

猜你喜欢

转载自blog.csdn.net/weixin_44046477/article/details/87922597