美文网首页
TinyOk接入文档

TinyOk接入文档

作者: 陈道乐 | 来源:发表于2021-01-13 15:36 被阅读0次

    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接入文档

          本文链接:https://www.haomeiwen.com/subject/pqouaktx.html