zoukankan      html  css  js  c++  java
  • Android网络请求库RetrofitUtils

    RetrofitUtils

    GitHub地址,帮忙给个Star

    项目介绍

    Retrofit+Okhttp辅助类的简单封装,vesion 1.0.X 实现了Get,Post-Form、Post-Json
    三种形式的网络请求,后续版本会实现文件上传下载and各类raw的请求方式。

    功能

    1. Get
    2. Post表单
    3. PostJson

    后续版本待实现功能

    1. 文件上传下载(开发中...)
    2. 拦截器
    3. RxJava+Retrofit+Okhttp
    4. 考虑去掉loading(丑且无用),是否把所用到的第三方库打包进库中

    使用说明

    1. 引用
        implementation 'cn.cyq.net:retrofitutils:1.0.3'
        <!--library中引用了下面五个库,我没有打包进去了,避免版本冲突,比如七牛云的okio okhttp冲突-->
        //网络请求依赖
        implementation 'com.squareup.okio:okio:1.14.0'
        implementation 'com.squareup.okhttp3:okhttp:3.10.0'
        implementation 'com.squareup.retrofit2:retrofit:2.4.0'
        implementation 'com.squareup.retrofit2:converter-scalars:2.3.0'
        //Loader依赖
        implementation 'com.wang.avi:library:2.1.3'
    
    2. 初始化

    在Application的onCreate()初始化

     public class MyApplication extends Application {
    
        @Override
        public void onCreate() {
            super.onCreate();
            RestClient.init(getApplicationContext(), "baseUrl address");
        }
    }
    
    3. 具体请求
    Get
     RestClient.buider()
                    .loader(this)//可以不添加
                    .url(url)
                    .success(new ISuccess() {
                        @Override
                        public void onSuccess(String response) {
                            Log.i("test", "GET请求:" + response);
                        }
                    })
                    .failure(new IFailure() {
                        @Override
                        public void onFailure() {
                            Log.i("test", "失败");
                        }
                    })
                    .error(new IError() {
                        @Override
                        public void onError(int code, String msg) {
                            Log.i("test", "错误");
                        }
                    })
                    .build()
                    .get();
    
    Post表单
    RestClient.buider()
                    .loader(this)
                    .url(url)
                    .params("key1", "value1")
                    .params("key2", "value2")
                    .success(new ISuccess() {
                        @Override
                        public void onSuccess(String response) {
                            Log.i("test", "POST请求:" + response);
                        }
                    })
                    .failure(new IFailure() {
                        @Override
                        public void onFailure() {
                            Log.i("test", "失败");
                        }
                    })
                    .error(new IError() {
                        @Override
                        public void onError(int code, String msg) {
                            Log.i("test", "错误");
                        }
                    })
                    .build()
                    .post();
    
    Post Json
            String jsonStr = "{"username":"张三","age":16}";
            RestClient.buider().loader(this)
                    .url("http://192.168.0.1:8080/service/jsontest.html")
                    .raw(jsonStr)
                    .success(new ISuccess() {
                        @Override
                        public void onSuccess(String response) {
                            Toast.makeText(MainActivity.this, response, Toast.LENGTH_LONG).show();
                            Log.i("test", "Post Row请求:" + response);
                        }
                    })
                    .error(new IError() {
                        @Override
                        public void onError(int code, String msg) {
                            Log.i("test", "Post Ro请求失败");
                        }
                    })
                    .build()
                    .post();
    

    说明

    1. vesion 1.0.X 是初期版本,不建议在正式项目使用,后续会完善...

    引用的库及版本

    ps:2018-07-26[最新]
    
    1. com.squareup.retrofit2:retrofit:2.4.0
    2. com.squareup.okhttp3:okhttp:3.10.0
    3. com.wang.avi:library:2.1.3
    4. com.squareup.retrofit2:converter-scalars:2.3.0
    5. com.squareup.okio:okio:1.14.0
  • 相关阅读:
    【flutter BottomNavigationBar 】selectedLabelStyle: TextStyle(fontSize: 22) 更新后使用方法
    学术论文中的参考文献格式
    word2016中写出伪代码
    基于RPLiDAR A2的cartographer建图
    第 7 章 系统效果评测与监控
    Linux TOP 命令详解
    mysql-canal-rabbitmq 安装部署教程
    第 6 章 用户画像系统
    Elasticsearch 模块
    Kibana 插件环境搭建教程
  • 原文地址:https://www.cnblogs.com/chenyangqi/p/9376924.html
Copyright © 2011-2022 走看看