1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/chenenyu-Router

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Router

中文wiki. 方便的话给个 star!❤️

Screenshot

screenshot

Getting started

Branch 1.5 see here

  • Добавьте плагин gradle для router в ваш проект-уровень build.gradle, как показано ниже.
buildscript {
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:+'
        classpath "com.chenenyu.router:gradle-plugin:версия"
    }
}

Последняя версия router-gradle-plugin: Download

  • Примените плагин router в вашем модуле-уровне build.gradle.
apply plugin: 'com.android.application' // apply plugin: 'com.android.library'
apply plugin: 'com.chenenyu.router'

Внимание: В файле rootProjectbuild.gradle можно указать версию библиотеки, на которую ссылается плагин.

ext {
    routerVersion = 'x.y.z'
    compilerVersion = 'x.y.z'
}

Последняя версия router: Download

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

Основные способы использования

  • Добавьте перехватчик (необязательно)
@Interceptor("SampleInterceptor")
public class SampleInterceptor implements RouteInterceptor {
    @Override
    public RouteResponse intercept(Chain chain) {
        // do something
        return chain.process();
    }
}
  • Добавьте аннотацию
// Добавьте аннотацию к Activity, указав путь и перехватчик (необязательно)
@Route(value = "test", interceptors = "SampleInterceptor")
public class TestActivity extends AppCompatActivity {
    @InjectParam(key="foo") // Отображение параметров
    String foo;
  
     @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Router.injectParams(this);  // Автоматически извлекает и внедряет параметры из bundle
        ...
    }
}

// Добавьте аннотацию к Fragment
@Route("test")
public class TestFragment extends Fragment {
    ...
}
  • Перенаправление
// Простое перенаправление
Router.build("test").go(this);
// startActivityForResult
Router.build("test").requestCode(0).go(this);
// Перенос bundle параметров
Router.build("test").with("key", Object).go(this);
// Добавление обратного вызова
Router.build("test").go(this, new RouteCallback() {
    @Override
    public void callback(RouteStatus status, Uri uri, String message) {
        // do something
    }
});

// Получение намерения, соответствующего маршруту
Router.build("test").getIntent();
// Получение фрагмента, соответствующего аннотации
Router.build("text").getFragment();

Расширенные способы использования

Рекомендуется просмотреть wiki.

Кто использует Router

Обсуждение

Группа QQ: 271849001

Пожертвования ❤️

Нажмите здесь.

Лицензия

Apache 2.0

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/chenenyu-Router.git
git@api.gitlife.ru:oschina-mirror/chenenyu-Router.git
oschina-mirror
chenenyu-Router
chenenyu-Router
master