首先引入okhttp网络框架,很简单如图:在app项目中的build.gradle里的dependencies
里添加compile ‘com.squareup.okhttp3:okhttp:3.2.0’ 这句代码依赖。
然后点击Sync Now即可使用。
Get请求(主要获取数据)
//构造request对象
Request request = new Request.Builder().get().url("https://www.baidu.com")
.build();
//创建okhttpClient对象
OkHttpClient okHttpClient = new OkHttpClient();
//获取call对象
Call call = okHttpClient.newCall(request);
//异步请求
call.enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
//请求失败异常处理
e.printStackTrace();
}
@Override
public void onResponse(Call call, Response response) throws IOException {
//请求成功获取数据
String string = response.body().string();
}
});
Post请求(主要提交数据给服务端,需要请求体,responseBody根据类似键值对的添加来传递)
//创建okhttpClient对象
OkHttpClient okHttpClient = new OkHttpClient();
FormBody.Builder requestBuild = new FormBody.Builder();
//这里根据键值对来添加要传递的数据给服务端
RequestBody requestBody = requestBuild.add
("username", "niubi").add("password", "324").build();
//构造request
Request request = new Request.Builder()
.post(requestBody)
.url(baseUrl + "login")//服务器地址
.build();
//获取call对象
Call call = okHttpClient.newCall(request);
//异步请求
call.enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
//请求失败异常处理
e.printStackTrace();
}
@Override
public void onResponse(Call call, Response response) throws IOException {
}
});