【安卓】Okhttp网络框架笔记
2016-10-01 21:28
381 查看
Okhttp网络框架
Okhttp配置
compile 'com.squareup.okhttp3:okhttp:3.4.1' compile 'com.squareup.okio:okio:1.10.0' //涉及到文件的上传和下载
<uses-permission android:name="android.permission.INTERNET"/>
Okhttp基本使用
Get同步请求
new Thread(new Runnable() { @Override public void run() { try { Response response = okHttpClient.newCall(request).execute(); final String string = response.body().string(); runOnUiThread(new Runnable() { @Override public void run() { btn_1.setText(string); } }); } catch (IOException e) { e.printStackTrace(); } } }).start();
Get异步请求
okHttpClient.newCall(request).enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { } @Override public void onResponse(Call call, Response response) throws IOException { final String strgin = response.body().string(); runOnUiThread(new Runnable() { @Override public void run() { btn_1.setText(strgin); } }); } });
Post key-value请求表单
..
Post请求提交 String Json 文件类型等
..
文件的下载
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
Request request = new Request.Builder().url("https://www.baidu.com/img/baidu_jgylogo3.gif").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 { InputStream inputStream = response.body().byteStream(); FileOutputStream fileOutputStream = new FileOutputStream(new File("/sdcard/logo.png")); byte[] buffer= new byte[2048]; int len=0; while ((len=inputStream.read(buffer))!=-1){ fileOutputStream.write(buffer,0,len); } fileOutputStream.flush(); Log.d("ol","ok"); } });
请求的超时设置
private static OkHttpClient okHttpClient = new OkHttpClient(); static { okHttpClient.setConnectTimeout(10); okHttpClient.setReadTimeout(10); okHttpClient.setWriteTimeout(10); }
相关文章推荐
- 【Android新手笔记五】okhttp3网络通信框架
- okhttp学习笔记--网络框架封装
- 安卓网络访问框架okhttp环境搭建
- 安卓网络请求框架okHttp的使用与封装
- 安卓android网络框架okhttp介绍及使用
- 笔记:Android OkHttp3网络请求框架详解
- 安卓开发常用网络请求框架OkHttp、Volley、XUtils、Retrofit对比
- 安卓第七天笔记--网络编程一
- 安卓笔记之网络图片查看器小程序以及消息处理机制运用
- 安卓AsyncHttpClient网络开源框架
- 一个网络传输框架——zeroMQ 调研笔记
- Android中Http网络请求库框架Volley和Asnyc-http的使用---第三方库学习笔记(一)
- android:安卓中5中网络请求库之Vellory OkHttp Retrofit
- Android开源:网络框架volley使用(一)---使用方法笔记
- Android笔记(六十二)网络框架volley
- [CAQ5]使用okhttp等三方网络框架的时候出现超时错误
- Retrofit 2.0使用详解,配合OkHttp、Gson,Android最强网络请求框架
- 【Android】自己写的轻量级安卓网络框架——能够控制网络连接,支持缓存
- 安卓网络框架,上传图片花图,上传状态411被服务器驳回
- 网络框架 - 安卓之Apache MINA