SnowJun / Simple

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Simple

前言

自己撸的代码,可以欢迎研讨学习与交流,
Demo经过了简单的调试,如果自己使用过觉得没问题,
可以应用,遇到问题欢迎讨论交流。

博客地址

撸一个开源库

网络库介绍

库名及功能:
Simple的子库Net库,支持httpurlconnection和okhttp两种代理实现
功能主要包括,get请求,post表单,postJson,
post上传文件,post上传多文件,post参数文件混传等。
库地址
Github库:Simple
Gitee库:Simple
Jitpack主页:Simple
使用
maven { url 'https://jitpack.io' }

implementation 'com.github.SnowJun.Simple:Net:1.0.3'
正式开始撸功能
  1. Builder配置:
SimpleNetBuilder builder = new SimpleNetBuilder();
		//设置网络代理	默认为httpurlconnection 目前支持okhttp和httpurlconnection两种
        builder.setNetAgency(NetAgencyEnum.AGENCY_HTTPURLCONNECTION)
        //添加公共header请求
                .addHeader("header", "xxxxx")
                //连接超时时间 单位毫秒
                .connectTimeOut(10000)
                //读超时时间
                .readTimeOut(10000)
                //写超时时间
                .writeTimeOut(10000)
                //一键https
                .https()
                //请求重试次数
                .retryCount(3);
                //使用builder初始化
        SimpleNet.getInstance().init(builder);
  1. Get请求
 Map<String, String> paras = new HashMap<>();
        paras.put("id", "id111");
        paras.put("code", "code222");
        SimpleNet.get(URL + "/info").paras(paras).excute(new StringCallBack() {
            @Override
            public void onSuccess(String result) {
                tvContent.setText(result);
            }

            @Override
            public void onFail(String reason) {
                SimpleLog.e("onFail:reason->" + reason);
            }

            @Override
            public void onException(Exception e) {
                SimpleLog.e("onException:e->" + e.getMessage());
            }
        });
        tvContent.setText("请求中,请稍后...");
  1. Post表单参数,addHeader添加请求头
 Map<String, String> paras = new HashMap<>();
        paras.put("userName", "snowjun");
        paras.put("password", "123456");
        SimpleNet.postForm(URL + "/login").addHeader("session","aaaaa-bbbbb").paras(paras).excute(new StringCallBack() {
            @Override
            public void onSuccess(String result) {
                tvContent.setText(result);
            }

            @Override
            public void onFail(String reason) {
                SimpleLog.e("onFail:reason->" + reason);
            }

            @Override
            public void onException(Exception e) {
                SimpleLog.e("onException:e->" + e.getMessage());
            }
        });
        tvContent.setText("请求中,请稍后...");
  1. Post Json请求
  JSONObject jsonObject = new JSONObject();
        try {
            jsonObject.put("userName", "SnowJun");
            jsonObject.put("password", "123456");
        } catch (JSONException e) {
            e.printStackTrace();
        }
        SimpleNet
                .<JSONObject>postJson(URL + "login1")
                .json(jsonObject)
                .excute(new StringCallBack() {
                    @Override
                    public void onSuccess(String result) {
                        tvContent.setText(result);
                    }

                    @Override
                    public void onFail(String reason) {
                        SimpleLog.e("onFail:reason->" + reason);
                    }

                    @Override
                    public void onException(Exception e) {
                        SimpleLog.e("onException:e->" + e.getMessage());
                    }
                });
        tvContent.setText("请求中,请稍后...");
  1. Post上传文件
        SimpleNet.postFile(URL + "/uploadFile").file(file).excute(new StringCallBack() {
            @Override
            public void onSuccess(String result) {
                tvContent.setText(result);
            }

            @Override
            public void onFail(String reason) {
                SimpleLog.e("onFail:reason->" + reason);
            }

            @Override
            public void onException(Exception e) {
                SimpleLog.e("onException:e->" + e.getMessage());
            }
        });
        tvContent.setText("文件上传中..");
  1. Post上传多文件
 MultiRequest request = SimpleNet.postMulti(URL + "/uploadFiles");
        request.addFiles("files", files);
        request.excute(new StringCallBack() {
            @Override
            public void onSuccess(String result) {
                tvContent.setText(result);
            }

            @Override
            public void onFail(String reason) {
                SimpleLog.e("onFail:reason->" + reason);
            }

            @Override
            public void onException(Exception e) {
                SimpleLog.e("onException:e->" + e.getMessage());
            }
        });
        tvContent.setText("多文件上传中..");
  1. Post参数文件混传
   SimpleNet.postMulti(URL + "/uploadAndLogin")
                .addParas("userName","snowjun")
                .addParas("password","123456").addFile("file",file).excute(new StringCallBack() {
            @Override
            public void onSuccess(String result) {
                tvContent.setText(result);
            }

            @Override
            public void onFail(String reason) {
                SimpleLog.e("onFail:reason->" + reason);
            }

            @Override
            public void onException(Exception e) {
                SimpleLog.e("onException:e->" + e.getMessage());
            }
        });
        tvContent.setText("文件上传中..");
  1. Bitmap返回
 SimpleNet.get("").excute(new BitmapCallback() {
            @Override
            public void onSuccess(Bitmap result) {
                
            }

            @Override
            public void onFail(String reason) {

            }

            @Override
            public void onException(Exception e) {

            }
        });
  1. File返回
 SimpleNet.get("").excute(new FileCallBack("","") {
            @Override
            public void onProgress(int progress, long current, long size) {
                
            }

            @Override
            public void onSuccess(File result) {

            }

            @Override
            public void onFail(String reason) {

            }

            @Override
            public void onException(Exception e) {

            }
        });
混淆
-dontwarn org.simple.net.** 
-keep class org.simple.net.**{*;}

okhttp -dontwarn okhttp3.** 
-keep class okhttp3.**{*;}

okio -dontwarn okio.** 
-keep class okio.**{*;}

About


Languages

Language:Java 100.0%