博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android 流行框架的使用
阅读量:7112 次
发布时间:2019-06-28

本文共 2391 字,大约阅读时间需要 7 分钟。

===

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 );
 

 

 

 

======
 

转载于:https://www.cnblogs.com/yue31313/p/7493340.html

你可能感兴趣的文章
一个android版本的rss阅读器--明天补充实现过程,先上图
查看>>
WPF TreeView
查看>>
HTML: 仿写一个财经类静态的网页
查看>>
C#读写config配置文件
查看>>
JavaScript:文本域事件处理
查看>>
关于dctser进程
查看>>
一步一步教你使用AgileEAS.NET基础类库进行应用开发-基础篇-演示ORM中的查询
查看>>
win7远程登录
查看>>
5.6. DHCP
查看>>
RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.2->Web版本模块管理界面新增模块排序功能...
查看>>
ajax与算法,sql的group处理
查看>>
《C#高级编程》笔记系列--点滴记录(持续更新中……)
查看>>
采用泳道图工具跟踪项目进度或者问题解决进度
查看>>
sql server 2008学习1–系统数据库
查看>>
找零钱的两种方法
查看>>
DM642图像处理程序的主要结构
查看>>
从微软的DBML文件中我们能学到什么(它告诉了我们什么是微软的重中之重)~三 分部类是否破坏了单一职责...
查看>>
redis的主从配置 扩容
查看>>
HDU1004 Let the Balloon Rise
查看>>
jquery 校验中国身份证号码
查看>>