现在的android开发绝大多数都使用okhttp请求数据。

okhttp必须在安装完所有okhttp所需环境文件后才能过使用,分为okhttp.jar和okio.jar,下载地址为:"http://square.github.io/okhttp/"。

或者直接在AS的build.gradle的dependencies中加入

compile 'com.squareup.okhttp3:okhttp:3.5.0'

然后点击右上角的Sync Now导入,等待下载完毕即可。

 

等待完毕后即可开始网络请求,网络请求分为两种,get和post方法。

 

okhttp的get请求分为4步:

1.建立okhttp对象

OkHttpClient okhttpclient = new OkHttpClient();

2.构造request

Request.Builder buider = new Request.Builder();Request request = buider.get().url("https://www.imooc.com/").build();

3.将request封装成Call

Call call = okhttpclient.newCall(request);

4.执行Call(异步 ps:此操作不能操作UI)

call.enqueue(new Callback() {    @Override    public void onFailure(Call call, IOException e) {    }    @Override    public void onResponse(Call call, Response response) throws IOException {          }});

get操作完成。

 

 

okhttp的psot请求分为4步:

 

1.构造RequestBody

 

这里以构造一个json数据为例
MediaType JSON = MediaType.parse("application/json;charset=utf-8");
Map map = new HashMap<>();map.put("test","test");JSONObject jsonObject = new JSONObject(map);RequestBody requestBody = RequestBody.create(JSON,jsonObject.toString());

2.建立okhttp对象

OkHttpClient okHttpClient = new OkHttpClient();

3.构造一个Request

Request request = new Request.Builder()        .post(requestBody)        .url("")        .build();

4.将Request封装为Call

Call call = okHttpClient.newCall(request);

5.执行Call

call.enqueue(new Callback() {    @Override    public void onFailure(Call call, IOException e) {        //请求失败    }    @Override    public void onResponse(Call call, Response response) throws IOException {        //请求成功    }});

这样子post操作就完成了。

更多相关文章

  1. Android——RecyclerView入门学习之LayoutManager
  2. Android——Retrofit2
  3. Android(安卓)Okhttp工具类的封装(okhttpUtils)
  4. android mvp快速开发框架介绍(开始dileber)
  5. Android(安卓)Retrofit2&OkHttp3添加统一的请求头Header
  6. 我的Android心得(8)--Message & Looper & Handler
  7. Android网络架构之———OkHttp+Volley+Gson
  8. API Demos 2.2 研读笔记(9)——通过调用子Activity返回值
  9. android 权限库EasyPermissions

随机推荐

  1. 详解Android中的屏幕方向
  2. android应用去掉title bar 及全屏处理方
  3. android关机充电流程、充电画面显示
  4. Kernel.org hacked – how to get Androi
  5. Android(安卓)Library Project 使用问题
  6. 解析Android消息处理机制:Handler/Thread/
  7. Android(安卓)开发环境配置
  8. 详解Android中的屏幕方向
  9. Android(安卓)实现全屏和无标题栏的显示
  10. Android(安卓)NDK 环境搭建(Native Devel