Как проверить, указано ли имя версии String (найдено)> String для имени версии в Android

В моем приложении я хочу проверить номер версии с сервера, и когда этот versionName> myVersionName покажет dialog.

verionName поступает с сервера как "version": "1.0.0.1", а myVersionName как 1.0.0.2.

Я хочу этого, когда 1.0.0.1> 1.0.0.2 показывает dialog.

Но это verionNames - это Струны. как это проверить в Нить?

Помогите, пожалуйста

посмотрите здесь -> stackoverflow.com/questions/198431/…

Levi Moreira 02.05.2018 13:48
String.compareTo() сравнивает в лексикографическом порядке, который должен отлично работать с вашими номерами версий. Обратите внимание, что он работает с текущими простыми номерами версий, нет гарантий, что он будет работать при изменении версий, например, 10.0.0.1 или 1.0.0.1.1.
Ben 02.05.2018 13:48

как сервер versionName может быть меньше app'sversionname? даже если это так ... вам нужно обновить имя версии сервера? сразу после релиза!

Santanu Sur 02.05.2018 13:49

@ Бен, можешь отправить мне код, мой друг? потому что я любитель и очень нуждаюсь в вашей помощи. пожалуйста

BoboGoooool 02.05.2018 13:50

@Ben, пока не воспользуетесь "1.0.01.3".compareTo("1.0.1.2"). Это будет проблемой. (Странные обозначения, но где-то видел ... не помню где)

AxelH 02.05.2018 13:52

@AxelH да. Это работает, только если версии лексикографически сопоставимы. Но если они есть, это быстрое решение. Определенно не то, на что я бы поставил благополучие своего кода.

Ben 02.05.2018 13:54
stackoverflow.com/a/6702029/3395198
IntelliJ Amiya 02.05.2018 13:55

Я согласен с @Ben, мы могли бы легко использовать регулярное выражение, чтобы сначала очистить эту нотацию и сохранить использование Comparable.

AxelH 02.05.2018 13:59

Я написал ответ с быстрым классом, чтобы использовать эту логику. Это должно быть достаточно эффективным в большинстве случаев.

AxelH 02.05.2018 14:56
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
9
76
0

Другие вопросы по теме