NetFrames 一个基于XSnow网络框架自己改造的 网络框架

网友投稿 592 2022-10-18

NetFrames 一个基于XSnow网络框架自己改造的 网络框架

NetFrames 一个基于XSnow网络框架自己改造的 网络框架

NetFrames

一个基于XSnow网络框架自己改造的 网络框架

如何在你的项目中使用该框架

第一步: 在你的根build.gradle添加

allprojects { repositories { ... maven { url 'https://jitpack.io' } }}

第二步:在项目build.gradle中添加依赖

dependencies { implementation 'com.github.tongzhaoxin:NetFrames:v1.0'}

在application中配置网络请求框架:

private void initNetConfig() { HashMap globalHeaders = new HashMap<>(); globalHeaders.put("User-Agent", "Imooc-Mobile");//用户代理 HashMap globalParams = new HashMap(); globalParams.put("appType", "Android");//app类型 globalParams.put("appId", "10001");//app标识 ViseHttp.init(this); ViseHttp.CONFIG() .baseUrl("http://192.168.36.101:8080/v1/app/")//配置请求主机地址 .globalHeaders(globalHeaders)//配置全局请求头 .globalParams(globalParams)//配置全局请求参数 .readTimeout(60)//配置读取超时时间,单位秒 .writeTimeout(60)//配置写入超时时间,单位秒 .connectTimeout(60)//配置连接超时时间,单位秒 .retryCount(1)//配置请求失败重试次数 .retryDelayMillis(2000)//配置请求失败重试间隔时间,单位毫秒 .setCookie(true)//配置是否使用cookie // .apiCookie(new ApiCookie(this))//配置自定义cookie .setHttpCache(false)//配置是否使用OkHttp的默认缓存 .setHttpCacheDirectory(new File(ViseHttp.getContext().getCacheDir(), ViseConfig.CACHE_HTTP_DIR))//配置OkHttp缓存路径 //配置自定义OkHttp缓存 .httpCache(new Cache(new File(ViseHttp.getContext().getCacheDir(), ViseConfig.CACHE_HTTP_DIR), ViseConfig.CACHE_MAX_SIZE)) //配置自定义离线缓存 .cacheOffline(new Cache(new File(ViseHttp.getContext().getCacheDir(), ViseConfig.CACHE_HTTP_DIR), ViseConfig.CACHE_MAX_SIZE)) //配置自定义在线缓存 .cacheOnline(new Cache(new File(ViseHttp.getContext().getCacheDir(), ViseConfig.CACHE_HTTP_DIR), ViseConfig.CACHE_MAX_SIZE)) //配置开启Gzip请求方式,需要服务器支持 .postGzipInterceptor() //配置应用级- .interceptor(new HttpLoggingInterceptor().setLevel(HttpLoggingInterceptor.Level.BODY)) //配置网络- -workInterceptor(new NoCacheInterceptor());// //配置主机证书验证// .hostnameVerifier(new SSLUtil.UnSafeHostnameVerifier("http://192.168.1.100/"))// //配置SSL证书验证// .SSLSocketFactory(SSLUtil.getSslSocketFactory(null, null, null)); }

具体使用样式,传参为json格式 普通接口:

Map map = new HashMap<>(); map.put("mobilePhone", "13681491015"); map.put("codeType", "0"); ViseHttp.POST("employee/sendCode") .tag(getTAG()) .load(this) .setJson(map) .request(new ACallback() { @Override public void onSuccess(BaseRespone data) { Toast.makeText(MainActivity.this, data.getMessage(), Toast.LENGTH_LONG).show(); } @Override public void onFail(int errCode, String errMsg) { Toast.makeText(MainActivity.this, errMsg, Toast.LENGTH_LONG).show(); } });

上传图片:

ViseHttp.UPLOAD("student/updateAvatar")// 接口地址 .tag(getTAG()) .load(this) .baseUrl("服务器地址")// 切换服务地址时需要调这个方法 .addParam("employeeId","920899") .addFile("avatar",mTarFile) .addFile("background",mBackgroundFile) .request(new ACallback() { @Override public void onSuccess(UploadBean data) { Glide.with(UploadActivity.this).load(data.getData().getAvatarUrl()).into(ivPhoto); } @Override public void onFail(int errCode, String errMsg) { Toast.makeText(UploadActivity.this, errMsg, Toast.LENGTH_LONG).show(); } });

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:springboot如何获取yml文件的自定义参数
下一篇:Kubernetes 本地存储卷 pod volume emptyDir
相关文章

 发表评论

暂时没有评论,来抢沙发吧~