"RetrofitUtils" "GitHub地址,幫忙給個Star" 項目介紹 Retrofit+Okhttp輔助類的簡單封裝,vesion 1.0.X 實現了Get,Post Form、Post Json 三種形式的網路請求,後續版本會實現文件上傳下載and各類raw的請求方式。 功能 1. G ...
RetrofitUtils
項目介紹
Retrofit+Okhttp輔助類的簡單封裝,vesion 1.0.X 實現了Get,Post-Form、Post-Json
三種形式的網路請求,後續版本會實現文件上傳下載and各類raw的請求方式。
功能
- Get
- Post表單
- PostJson
後續版本待實現功能
- 文件上傳下載(開發中...)
- 攔截器
- RxJava+Retrofit+Okhttp
- 考慮去掉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();
說明
- vesion 1.0.X 是初期版本,不建議在正式項目使用,後續會完善...
引用的庫及版本
ps:2018-07-26[最新]
- com.squareup.retrofit2:retrofit:2.4.0
- com.squareup.okhttp3:okhttp:3.10.0
- com.wang.avi:library:2.1.3
- com.squareup.retrofit2:converter-scalars:2.3.0
- com.squareup.okio:okio:1.14.0