Как исправить ошибку «Для вызова требуется API уровня 26 (текущий минимум 25)» в Android - PullRequest
1 голос
/ 21 июня 2019

Я знаю, что этот вопрос может быть продублирован, но я не нашел ответа на свою проблему, я использую LocalDateTime в своем приложении для Android, для которого требуется API 26, а API моего устройства - 25.

Что я могу сделать?Ваша помощь будет очень признательна.

Ответы [ 2 ]

1 голос
/ 21 июня 2019

Вам нужно использовать https://github.com/JakeWharton/ThreeTenABP, чтобы иметь возможность использовать LocalDateTime с Android API <26. </p>

Добавить зависимости в ваш проект (следуйте инструкциям README):

implementation 'com.jakewharton.threetenabp:threetenabp:1.2.1'

Затем измените ваш LocalDateTime импорт с:

import java.time.LocalDateTime;

на:

import org.threeten.bp.LocalDateTime;
0 голосов
/ 21 июня 2019

Вы можете использовать ThreeTenBP . Но для андроида рекомендуется использовать Джейк Уортон ThreeTenABP .

Почему бы не использовать ThreeTenBP?

Подобно проблемам с использованием Joda-Time на Android, threetenbp использует ресурс JAR для загрузки информации о часовом поясе. Это крайне неэффективный механизм на Android.

Эта библиотека размещает информацию о часовом поясе в качестве стандартного ресурса Android и предоставляет специальный загрузчик для эффективного анализа.

Почему бы не использовать Joda-Time?

Joda-Time имеет очень большой API, который дает очень большой двоичный размер и большое количество методов. Создатель JSR-310 и Joda-Time также сказал, что, хотя Joda-Time не сломан, у него есть недостатки дизайна.

Если вы уже используете Joda-Time, нет особых оснований для переключения, если только его размер или количество методов не имеют к вам отношения. Однако для новых проектов эта библиотека предлагает стандартные API в Java 8 как гораздо меньший пакет не только по размеру двоичного файла и количеству методов, но и по размеру API.

Эти объяснения пришли из ThreeTenABP Джейка Уортона.

...