network

基于OKHttp的网络组件

Лицензия

Лицензия

Категории

Категории

Сеть
Группа

Группа

io.github.lavalike
Идентификатор

Идентификатор

network
Последняя версия

Последняя версия

0.0.2
Дата

Дата

Тип

Тип

aar
Описание

Описание

network
基于OKHttp的网络组件
Ссылка на сайт

Ссылка на сайт

http://github.com/lavalike
Система контроля версий

Система контроля версий

https://github.com/lavalike/network

Скачать network

Имя Файла Размер
network-0.0.2.pom
network-0.0.2.aar 107 KB
network-0.0.2-sources.jar 23 KB
Обзор

Как подключить последнюю версию

<!-- https://jarcasting.com/artifacts/io.github.lavalike/network/ -->
<dependency>
    <groupId>io.github.lavalike</groupId>
    <artifactId>network</artifactId>
    <version>0.0.2</version>
    <type>aar</type>
</dependency>
// https://jarcasting.com/artifacts/io.github.lavalike/network/
implementation 'io.github.lavalike:network:0.0.2'
// https://jarcasting.com/artifacts/io.github.lavalike/network/
implementation ("io.github.lavalike:network:0.0.2")
'io.github.lavalike:network:aar:0.0.2'
<dependency org="io.github.lavalike" name="network" rev="0.0.2">
  <artifact name="network" type="aar" />
</dependency>
@Grapes(
@Grab(group='io.github.lavalike', module='network', version='0.0.2')
)
libraryDependencies += "io.github.lavalike" % "network" % "0.0.2"
[io.github.lavalike/network "0.0.2"]

Зависимости

compile (4)

Идентификатор библиотеки Тип Версия
com.squareup.okhttp3 : okhttp jar 4.7.2
androidx.appcompat » appcompat jar 1.2.0
androidx.constraintlayout » constraintlayout jar 2.0.2
com.google.code.gson : gson jar 2.8.6

Модули Проекта

Данный проект не имеет модулей.

network

基于OkHttp3网络框架

Platform

Maven配置

Mac Windows

依赖导入

项目根目录

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

模块目录

dependencies {
	implementation 'com.github.lavalike:network:0.0.1'
}

自定义全局配置

如未初始化,网络请求请写明全路径

Network.init(NetConfig.Builder().build());

NetConfig支持方法

public static class Builder {
    public Builder baseUrl(String baseUrl);
    public Builder netInterceptor(Interceptor interceptor);�
    public Builder interceptor(Interceptor interceptor);
    public CookieJar cookieJar;
    public Builder retryOnConnectionFailure(boolean retry);
    public Builder connectTimeout(long connectTimeout);
    public Builder readTimeout(long readTimeout);
    public Builder writeTimeout(long writeTimeout);
    public Builder debug(boolean debug);
    public NetConfig build();
}

请求类型

类型 继承关系
GET GetTask
POST_JSON PostJsonTask
POST_FORM PostFormTask
UPLOAD UploadTask

网络请求Task支持方法

public interface Task {
    void onSetupParams(Object... params);
    String getApi();
    Task put(String key, Object value);
    Task putFile(String key, String filePath);
    Task addHeader(String name, String value);
    Task setTag(Object tag);
    Task setLoadingPage(LoadingPage page);
    Call exe(Object... params);
    Call retry();
}

发起请求

1、使用可变参数形式请求

new TestTask(new LoadingCallback<EntityType>() {
    @Override
    public void onSuccess(EntityType data) {
        
    }
}).exe("abc", 1, true);

重写onSetupParams方法手动处理参数

public class TestTask extends GetTask {
    public <EntityType> TestTask(RequestCallback<EntityType> callback) {
        super(callback);
    }

    @Override
    public void onSetupParams(Object... params) {
        put("param1", params[0]);
        put("param2", params[1]);
        put("param3", params[2]);
    }

    @Override
    public String getApi() {
        return "your api address";
    }
}

2、链式传递参数

new TestTask(new ProgressCallback<String>() {
	@Override
	public void onSuccess(String data) {

	}

	@Override
	public void onProgress(int progress) {

	}
}).setTag(this)
	.put("token", token)
	.putFile("sourceFile", "file url")
	.addHeader("","")
	.exe();

无需重写onSetupParams方法

设置加载页

setLoadingPage(LoadingPage page)

注意
1、page为null无效
2、page构造参数为null无效

1、使用默认加载页 DefaultLoadingPage

new TestTask(new LoadingCallback<String>() {
    @Override
    public void onSuccess(String data) {
    
    }
}).setLoadingPage(new DefaultLoadingPage(recycler)).exe();

2、LoadingPage自定义成功延迟回调与加载时长

new DefaultLoadingPage(recycler).setDelay(3000).setDuration(2000)

3、自定义加载页

继承 AbsLoadingPage 并处理对应逻辑,如有疑问请参照 DefaultLoadingPage

错误输出

初始化配置时,debug 默认为 false,输出较为友好的统一提示,配置为 true 可输出具体错误信息

Network.init(new NetConfig.Builder()
        .debug(true)
        .build());

Версии библиотеки

Версия
0.0.2
0.0.1