TinyOk接入文档

TinyOK

轻量级okhttp请求库,okhttp接口使用方式,volley内存分配机制,并且有效避免内存分配溢出。

  • 无依赖
  • 体积小, 资源消耗小,
  • 只针对Android优化
  • 可以完美兼容okhttp使用方式

demo下载

一、接入使用

  1. 仓库配置

工程根目录 gradle.build

allprojects {
    repositories {
       
        ...
        
        //补充如下仓库地址
        maven {
             url 'http://maven.onlyhello.cn:1111/repository/maven-releases'
        }
        
        /**
        //此为快照版本仓库,仅供调试使用,正式发布时,强烈不建议使用!!!
        maven {
            url 'http://maven.onlyhello.cn:1111/repository/maven-snapshots'
        }
        **/
    }
}

  1. 项目依赖
 implementation 'cn.onlyhello.sdk:tinyok:1.0.0'

二、使用

  1. 异步请求
TinyOk tinyOk = new TinyOk();
Request request = new Request.Builder()
                        .url("http://www.baidu.com")
                        .build()

tinyOk.newCall(request)
     .enqueue(new ResponseCallback() {
        @Override
        public void onFailure(Exception e) {
            e.printStackTrace();
        }

        @Override
        public void onResponse(Response res) {
        Toast.makeText(MainActivity.this, 
                       res.body().string(),
                       oast.LENGTH_SHORT).show();
        }
    });
  1. 同步请求

android 限制不可在主线程中使用网络请求,所以在使用中,请包裹一层线程处理。

TinyOk tinyOk = new TinyOk();
Request request = new Request.Builder()
        .url("http://www.baidu.com")
        .build();
final Response response = tinyOk.newCall(request)
                        .execute();
new Handler(context.getMainLooper()).post(() -> {
    Toast.makeText(MainActivity.this,
        response.body().string(),
        Toast.LENGTH_SHORT).show();
});
  1. 类型转换

支持文件流、图片,文本,二进制转换。

public abstract class ResponseBody implements Closeable {
    public abstract InputStream stream();
    
    public abstract byte[] binary();
    
    public abstract String string();

    public abstract Bitmap bitmap();
}

  1. 高级

表单提交, 多重表单提交(支持文件上传)

表单提交

FormBody formBody = new FormBody.Builder()
       .addEncoded("message", "hello_world")
        .addEncoded("hello", "cccc")
        .build();

Request request = new Request.Builder()
        .url("http://192.168.150.14")
        .post(formBody)
        .build();

多重表单提交

FormBody formBody = new FormBody.Builder()
        .addEncoded("message", "hello_world")
        .addEncoded("hello", "cccc")
         .build();
        
MultipartBody multipartBody = new MultipartBody.Builder()
        .addPart( formBody)
        .addFormDataPart("file1", file.getAbsolutePath())
        .addFormDataPart("hello", "hi")
        .build();
        
Request request = new Request.Builder()
        .url("http://192.168.150.14")
        .post(multipartBody)
        .build();  

你可能感兴趣的:(TinyOk接入文档)