===

OKHttp主要功能

1、联网请求文本数据
2、大文件下载
3、大文件上传
4、请求图片

get请求

Request request = new Request.Builder()
            .url(url)
            .build();
    Response response = client.newCall(request).execute();
    return response.body().string();

post请求

RequestBody body = RequestBody.create(JSON, json);
    Request request = new Request.Builder()
            .url(url)
            .post(body)
            .build();
    Response response = client.newCall(request).execute();
    return response.body().string();

第三方封装好的OKHttp库-okhttp-utils

get请求

url="http://api.m.mtime.cn/PageSubArea/TrailerList.api";
    OkHttpUtils
            .get()
            .url(url)
            .id(100)
            .build()
            .execute(new MyStringCallback());

post请求
    url="http://api.m.mtime.cn/PageSubArea/TrailerList.api";
    OkHttpUtils
            .post()
            .url(url)
            .id(100)
            .build()
            .execute(new MyStringCallback());

okhttp-utils文件下载

String url = "http://vfx.mtime.cn/Video/2016/07/24/mp4/160724154733643806.mp4";
    OkHttpUtils//
           
.get()//
           
.url(url)//
           
.build()//
           
.execute(new FileCallBack(Environment.getExternalStorageDirectory().getAbsolutePath(),
"160724154733643806.mp4")//
            
{

@Override
                public void onBefore(Request request, int id) {
                }

@Override
                public void inProgress(float progress, long total, int id) {
                    mProgressBar.setProgress((int) (100 * progress));
                    Log.e(TAG, "inProgress
:"
+ (int) (100 * progress));
                }

@Override
                public void onError(Call call, Exception e, int id) {
                    Log.e(TAG, "onError :"
+ e.getMessage());
                }

@Override
                public void onResponse(File file, int id) {
                    Log.e(TAG, "onResponse
:"
+ file.getAbsolutePath());
                }
            });

文件上传

public void multiFileUpload()
{
    String mBaseUrl = "http://192.168.10.165:8080/FileUpload/FileUploadServlet";
    File file = new File(Environment.getExternalStorageDirectory(),
"1.jpg");
    File file2 = new File(Environment.getExternalStorageDirectory(),
"1.txt");
    if (!file.exists())
    {
        Toast.makeText(MainActivity.this, "文件不存在,请修改文件路径", Toast.LENGTH_SHORT).show();
        return;
    }
    Map<String, String> params = new HashMap<>();
    params.put("username", "杨光福");
    params.put("password", "123");

String url = mBaseUrl;
    OkHttpUtils.post()//
           
.addFile("mFile", "messenger_01.png", file)//
           
.addFile("mFile", "test1.txt", file2)//
           
.url(url)
            .params(params)//
           
.build()//
           
.execute(new MyStringCallback());
}

====

rxjava retrofit okhttp

get请求

@GET("text.from?key=ae240f7fba620fc370b803566654949e")

Observable<JokeBean> getCurrentJokeData(
@Query("page") int page,
@Query("pagesize") int pagesize );
 

 

======
 

android 流行框架的使用的更多相关文章

  1. 15类Android通用流行框架

    15类Android通用流行框架 Android流行框架 缓存 DiskLruCache Java实现基于LRU的磁盘缓存 图片加载 Android Universal Image Loader 一个 ...

  2. 60.Android通用流行框架大全

    转载:https://segmentfault.com/a/1190000005073746 Android通用流行框架大全 1. 缓存 名称 描述 DiskLruCache Java实现基于LRU的 ...

  3. 我的Android进阶之旅------>Android通用流行框架大全

    Android通用流行框架大全 缓存 图片加载 图片处理 网络请求 网络解析 数据库 依赖注入 图表 后台处理 事件总线 响应式编程 Log框架 测试框架 调试框架 性能优化 本文转载于lavor的博 ...

  4. (转载)15 个 Android 通用流行框架大全

    15 个 Android 通用流行框架大全 时间:2017-03-20 11:36来源:未知 作者:admin 点击: 2089 次 15 个 Android 通用流行框架大全   1. 缓存 Dis ...

  5. Android 通用流行框架

    原文出处: http://android.jobbole.com/83028/ 1. 缓存 名称 描述 DiskLruCache Java实现基于LRU的磁盘缓存 2.图片加载 名称 描述 Andro ...

  6. 经受时间沉淀的15 个 Android 通用流行框架大全

    1. 缓存 名称描述 DiskLruCache: Java实现基于LRU的磁盘缓存 2.图片加载 名称描述 Android    Universal Image Loader 一个强大的加载,缓存,展 ...

  7. Android通用流行框架大全

    1. 缓存 名称 描述 DiskLruCache Java实现基于LRU的磁盘缓存 2.图片加载 名称 描述 Android Universal Image Loader 一个强大的加载,缓存,展示图 ...

  8. 15 个 Android 通用流行框架大全

      1. 缓存 名称 描述 DiskLruCache Java实现基于LRU的磁盘缓存 2.图片加载 名称 描述 Android Universal Image Loader 一个强大的加载,缓存,展 ...

  9. 15个Android通用流行框架大全

    1. 缓存 DiskLruCache  Java实现基于LRU的磁盘缓存 2.图片加载 Android Universal Image Loader  一个强大的加载,缓存,展示图片的库 Picass ...

随机推荐

  1. Java基础-JVM调优策略简介

    Java基础-JVM调优策略简介 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.JVM结构分析 1>.JVM结构图 2>.JVM运行时数据区功能说明 JVM管理的内 ...

  2. Java与groovy混编 —— 一种兼顾接口清晰和实现敏捷的开发方式

    有大量平均水平左右的"工人"可被选择.参与进来 -- 这意味着好招人 有成熟的.大量的程序库可供选择 -- 这意味着大多数项目都是既有程序库的拼装,标准化程度高而定制化场景少 开发 ...

  3. OpenGL ES 2.0 Shader 调试新思路(二): 做一个可用的原型

    OpenGL ES 2.0 Shader 调试新思路(二): 做一个可用的原型 目录 背景介绍 请参考前文OpenGL ES 2.0 Shader 调试新思路(一): 改变提问方式 优化 ledCha ...

  4. MyCat分库分表入门

    1.分区 对业务透明,分区只不过把存放数据的文件分成了许多小块,例如mysql中的一张表对应三个文件.MYD,MYI,frm. 根据一定的规则把数据文件(MYD)和索引文件(MYI)进行了分割,分区后 ...

  5. UVALive 6176 Faulhaber's Triangle

    题目链接 http://acm.sdibt.edu.cn/vjudge/ojFiles/uvalive/pdf/61/6177.pdf 题意是  给定一个数n,代表着一共有n个人,且他们的身高从1到n ...

  6. 转载一篇介绍CUDA

    鉴于自己的毕设需要使用GPU CUDA这项技术,想找一本入门的教材,选择了Jason Sanders等所著的书<CUDA By Example an Introduction to Genera ...

  7. Javascript - 操作符

    操作符(Operator) void 如果void后是数字,就返回NAN,否则返回Undefined. alert(void "hello");//跟的字符 print undef ...

  8. 基于I2C总线的0.96寸OLED显示屏驱动

    资料未整理,先占位置,以后补充

  9. cmd命令,bat脚本

    1.cd /d D:\>cd mysql D:\mysql>cd /d C:/TEMP C:\Temp>cd /? 显示当前目录名或改变当前目录. CHDIR [/D] [drive ...

  10. .net的锁

    一.lock .Monitor  处理并行任务的时候,效率最高的就是多线程.当不同线程需要访问同一资源时候,就需要同步了.就像生活中很多人要一起赶飞机大家都要访问飞机这个资源每个人是一条线程那么就有门 ...