日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

android novate乱码,Novate 一款Android RxStyle的网络框架

發(fā)布時間:2024/9/27 Android 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android novate乱码,Novate 一款Android RxStyle的网络框架 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

功能優(yōu)化設計:加入基礎API,減少Api冗余

強大的緩存模式: 支持離線緩存, 無網(wǎng)絡智能加載緩存,可配置是否需要緩存

cookie管理:自帶cookie管理機制

全方位請求模式:支持多種方式訪問網(wǎng)絡(get,put, post ,delete)

輕送調(diào)用:支持表單,圖文一起,json上傳。

文件傳輸:支持文件下載和上傳,支持進度

動態(tài)添加:支持請求頭和參數(shù)統(tǒng)一添加,分別添加。

結果處理:支持對返回結果的統(tǒng)一處理,自動幫你序列化復雜的數(shù)據(jù)。

擴展性強:支持自定義的Retrofit的API,默認Api無法滿足時可自定義自己的Service

悠雅方便:支持統(tǒng)一請求訪問網(wǎng)絡的流程控制,以方便幫你完美加入Processbar進度。

RxJava結合: 結合RxJava,線程智能控制

集成

Gradle:root:

repositories { 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方式的請求調(diào)用,多種返回結果的方式供你選擇,返回不同的數(shù)據(jù)類型參考請看原文鏈接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>()?{

...

});

返回File

novate.rxGet("path or url", null, new RxFileCallBack(filePath, "name.jpg") {

.....

});

RxPost:

進行Post方式的請求調(diào)用

返回Stringnovate.rxPost("path?or?url",?parameters,?new?RxStringCallback()?{

.....

});

返回Bean

novate.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數(shù)據(jù),可以上報文件,圖片等。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()?{

....

});

上傳多文件:

RxUploadWithPartListByFile:List?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()實現(xiàn)下載: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姿勢的朋友可以繼續(xù)使用姿勢: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

新建MyApi

public?interface?MyApi?{

@GET("url")

Observable?getdata(@QueryMap?Map?maps);

}

Execute

調(diào)用Call()MyApi?myApi?=?novate.create(MyApi.class);

novate.call(myApi.getdata(parameters),

new?BaseSubscriber{

'''''''

});

}

總結

以上是生活随笔為你收集整理的android novate乱码,Novate 一款Android RxStyle的网络框架的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。