aso优化服务站,电子政务与网站建设意义,什么网站可以学做西餐,做网站必须要注册公司么功能优化设计#xff1a;加入基础API#xff0c;减少Api冗余强大的缓存模式#xff1a; 支持离线缓存#xff0c; 无网络智能加载缓存#xff0c;可配置是否需要缓存cookie管理#xff1a;自带cookie管理机制全方位请求模式#xff1a;支持多种方式访问网络(get,put, po…功能优化设计加入基础API减少Api冗余强大的缓存模式 支持离线缓存 无网络智能加载缓存可配置是否需要缓存cookie管理自带cookie管理机制全方位请求模式支持多种方式访问网络(get,put, post ,delete)轻送调用支持表单,图文一起json上传。文件传输支持文件下载和上传支持进度动态添加支持请求头和参数统一添加分别添加。结果处理支持对返回结果的统一处理自动帮你序列化复杂的数据。扩展性强支持自定义的Retrofit的API默认Api无法满足时可自定义自己的Service悠雅方便支持统一请求访问网络的流程控制以方便帮你完美加入Processbar进度。RxJava结合 结合RxJava线程智能控制集成Gradle:rootrepositories { maven { url https://jitpack.io } jcenter() }app:dependencies {compile com.tamic.novate:novate:1.5.4.3}RxAPi主要处理请求的API,包含RxGet, RxPost, RxDelete,RxPut, RxBody,RxFrom, RxUpLoad,RxDownLoad.使用基本APi之前 请阅读对RxCallBack的介绍。RxGet进行get方式的请求调用多种返回结果的方式供你选择返回不同的数据类型参考请看原文链接RxCallBack的介绍。基础使用返回Stringnew Novate.Builder(this).baseUrl(“www.xxx.com/”).build().rxGet(service/path, parameters, new RxStringCallback() {});返回Beannovate.rxGet(path or url, parameters, new RxResultCallback() {});返回Listnew Novate.Builder(this).baseUrl(http://xxx.com/).build().rxGet(service/getList, parameters, new RxListCallback() {...});返回Filenovate.rxGet(path or url, null, new RxFileCallBack(filePath, name.jpg) {.....});RxPost进行Post方式的请求调用返回Stringnovate.rxPost(path or url, parameters, new RxStringCallback() {.....});返回Beannovate.rxPost(path or url, parameters, new RxResultCallback() {});返回Listnovate.rxPost(path or url, parameters, new RxListCallback() {....});返回Filenovate.rxPost(path or url, null, new RxFileCallBack(filePath, name.jpg) {....});上传文件这里主要介绍怎么使用Novate上传文件Novate提供了2种方式上传文件。body和part模式Body不包含key值part包含key值。RxUploadWithBody以Body方式post数据可以上报文件图片等。String mPath uploadPath; //you File path ;String url http:/xxx.com;novate.rxUploadWithBody(url, new File(mPath), new RxStringCallback() {....});}RxUploadWithPart上传文件默认的key是 imageString mPath uploadPath; //you File path ;String url http:/xxx.com;File file new File(mPath);novate.rxUploadWithPart(url, file, new RxStringCallback() {....});上传多文件RxUploadWithPartListByFileList fileList new ArrayList();fileList.add(file);fileList.add(file);fileList.add(file);novate.rxUploadWithPartListByFile(url, fileList, new RxStringCallback() {});图文一起RequestBody requestBody new MultipartBody.Builder().setType(MultipartBody.FORM).addFormDataPart(key1, V1).addFormDataPart(key2, v2).addFormDataPart(file, file.getName(), RequestBody.create(MediaType.parse(image/*), file)).build();novate.rxBody(url , requestBody, callback);RxBodyRequestBody requestBody new MultipartBody.Builder().setType(MultipartBody.FORM).addFormDataPart(key1, V1).addFormDataPart(key2, v2).addFormDataPart(file, file.getName(), RequestBody.create(MediaType.parse(image/*), file)).build();novate.rxBody(url , requestBody, callback);下载文件使用rxGet()实现下载String downUrl http://wap.dl.pinyin.sogou.com/wapdl/hole/201512/03/SogouInput_android_v7.11_sweb.apk;novate.rxGet(downUrl, parameters, new RxFileCallBack(FileUtil.getBasePath(this), test.apk) {});RxDown()下载String downUrl http://wap.dl.pinyin.sogou.com/wapdl/hole/201512/03/SogouInput_android_v7.11_sweb.apk;new Novate.Builder(this).rxDownload(downUrl, new RxFileCallBack(FileUtil.getBasePath(this), test.apk) {});OkHTTP 姿势喜欢okhtp姿势的朋友可以继续使用姿势Request request new Request.Builder().get().url(you url).build();novate.execute(request, new RxStringCallback() {});Retrofit Api 姿势Novate默认的API让你不爽时Novate同样支持你自己Retrofit的ApiService。定义APi 同Retrofit的Api新建MyApipublic interface MyApi {GET(url)Observable getdata(QueryMap Map maps);}Execute调用Call()MyApi myApi novate.create(MyApi.class);novate.call(myApi.getdata(parameters),new BaseSubscriber{});}