Что такое Android Jetpack?

Изменено (теперь он принимает любой не null string и любой положительный chunkSize) Решение Константина Спирина :

public static IEnumerable<String> Split(String value, int chunkSize) {
  if (null == value)
    throw new ArgumentNullException("value");
  else if (chunkSize <= 0)
    throw new ArgumentOutOfRangeException("chunkSize", "Chunk size should be positive");

  return Enumerable
    .Range(0, value.Length / chunkSize + ((value.Length % chunkSize) == 0 ? 0 : 1))
    .Select(index => (index + 1) * chunkSize < value.Length 
      ? value.Substring(index * chunkSize, chunkSize)
      : value.Substring(index * chunkSize));
}

Тесты:

  String source = @"ABCDEF";

  // "ABCD,EF"
  String test1 = String.Join(",", Split(source, 4));
  // "AB,CD,EF"
  String test2 = String.Join(",", Split(source, 2));
  // "ABCDEF"
  String test3 = String.Join(",", Split(source, 123));
37
задан Enzokie 9 May 2018 в 10:59
поделиться

1 ответ

Поскольку все мы заключаем официальный сайт в кавычки, и он говорит,

, Реактивный ранец Android обеспечивает серию несвязанных библиотек, не связанных с какой-то конкретной версией Android, давая разработчикам способ поддерживать более новые функции на более старых версиях операционной системы Android. В дополнение к обратной совместимости Реактивный ранец обещает помочь Вам стать более сделанными, с меньшим количеством кода, путем обеспечения шаблона для справлений с повторяющимися задачами как управление жизненным циклом приложения.

Поэтому теперь позволяют нам повредить это в остатки, это просто говорит 2 вещи

  1. Так, все библиотеки, которые приезжают под Реактивным ранцем, независимы друг от друга. Можно обновить какую-то конкретную библиотеку, не обновляя других одновременно. Вы помните тех, которые предупреждают,

Те, которые расстраивают библиотеки “All com.android.support, должны использовать ту же самую версию specification”, сообщения должны стать вещью прошлого теперь.

, Но это - когда Вы пользуетесь библиотеками Androidx и не поддерживаете.

  1. Теперь все эти библиотеки, которые приезжают под Реактивным ранцем, делают много шаблонного кода в их стороне, таким образом, Вы не должны писать много кода и просто волноваться о логике. Исключая - Не забывают обрабатывать Экранное Вращение? ( ViewModel заботится о нем), Обрабатывая бесконечную прокрутку разбиением на страницы? (теперь Вы имеете библиотека Paging для того), обрабатывая кнопки "Назад" (, библиотека Navigation там для Вас) (всего несколько из тех)

существуют другие причины также для расстраивания JetPack отдельно, давайте обсудим их также..

  1. Первоначально, название каждого пакета указало на минимальный уровень API, поддерживаемый тем пакетом, например, поддержкой-v4. Однако версия 26.0.0 Вспомогательной библиотеки увеличила минимальный API до 14, поэтому сегодня многие имена пакета не имеют никакого отношения к минимальному поддерживаемому уровню API. Когда поддержка-v4 и пакеты поддержки-v7 оба имеют минимальный API 14, it’s легкий видеть, почему люди запутываются!. Таким образом, теперь с AndroidX, этот беспорядок исчезает.

  2. С текущим соглашением о присвоении имен (поддерживают), это также isn’t ясный, какие пакеты связываются операционной системой Android, и которые упаковываются с Вашим application’s APK (Набор Пакета Android). Для разрешения этого беспорядка все несвязанные библиотеки будут перемещены в AndroidX’s androidx.* пространство имен, в то время как андроид.* иерархия пакета будет зарезервирована для пакетов, которые поставлются с операционной системой Android. Просто высказывание, теперь на, андроид.* будет зарезервирован для андроида связанные с операционной системой пакеты, таким образом, эти пакеты так или иначе запустятся с андроида.* имя пакета, В ТО ВРЕМЯ КАК androidx.* будет теперь зарезервирован для связанного с разработкой приложений материала.

  3. Кроме этого, Вы имеете:

    • Архитектурный Компонент
    • Основополагающий Компонент
    • компонент UI
    • Компонент Поведения

Поэтому теперь, Реактивный ранец является только именем, данным надмножеству этих компонентов, androidx и других инструментов.

2
ответ дан 26 November 2019 в 21:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: