===

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. C语言复习---零散补充

    一:double和float使用scanf获取数据 printf输出float和double都可以用%f,double还可以用%lf. 2 scanf输入float用%f,double输入用%lf,不 ...

  2. Java环境变量自动配置。嗯,就是用C#去配置JDK

    在跟学弟们聊天的过程中,发现一些人在首次接触Java时,对环境变量配置总是很生疏.可能是由于初学,对一些概念没有很深刻的理解.本着助人为乐的精神.我决定帮他们一下.写一个自动配置JDK环境变量的小工具 ...

  3. 干货:制作科研slide简明规范

  4. dialog 菜单实例

    dislog 菜单实例 while : do clear menu=`dialog --title system custom` [ $? -eq ] && echo "$m ...

  5. LCA 算法(一)ST表

    介绍一种解决最近公共祖先的在线算法,st表,它是建立在线性中的rmq问题之上.   代码:   //LCA: DFS+ST(RMQ) #include<cstdio> #include&l ...

  6. 第7月第17天 rxswift swift3.0

    1.rxswift just(...) .subscribe(onNext: { }) https://realm.io/cn/news/slug-max-alexander-functional-r ...

  7. C. Ayoub and Lost Array(DP)

    (又是被队友带着上分的一场--) 题目链接:http://codeforces.com/contest/1105/problem/C 题目大意:给你n,l,r.每一个数都是在l,r范围之内,然后问你这 ...

  8. Javascript - Vue - 过滤器

    过滤器 输出的数据由vue对象提供,但它的数据可能需要做进一步的处理才适合展示给用户看,为此,可以在静态的Vue上定义一个过滤器对实例vue对象的data数据进行过滤处理. //调用过滤器//msg是 ...

  9. MQTT--入门【转】

    转自:https://blog.csdn.net/qq_28877125/article/details/78325003 一.简述  MQTT(Message Queuing Telemetry T ...

  10. linux压缩日志并删除原始文件

    下面的脚本可以压缩日志并删除原始文件 #!/bin/bash yesterday=`date -d '1days ago' +%Y_%m_%d` cd $ find . -name "*$y ...