hottabxp
@hottabxp
Сначала мы жили бедно, а потом нас обокрали..

Как сравнивать версии своего приложения?

Есть у меня приложение. Вместо того чтобы при обновлении приложения ходить по форумам и постить ссылку на новую версию, хочу сделать так, чтобы приложение соединялось с моим сервером и проверяло наличие новой версии. Но что-то не могу найти в интернете, как сравнить версии. Думаю, это потому, что этим в основном занимается Play Market. Мое же приложение не для Play Market'a. Так как сравнивать, например - "1.0.1","1.2.99","2.0.10"?
  • Вопрос задан
  • 327 просмотров
Решения вопроса 1
hottabxp
@hottabxp Автор вопроса
Сначала мы жили бедно, а потом нас обокрали..
Неправильно искал. Вот правильный запрос для google - java compare 2 version strings
Для себя выбрал библиотеку Semver4j(работает и в Android).
Примеры:
implementation 'com.vdurmont:semver4j:3.1.0'

isGreaterThan returns true if the version is strictly greater than the other one.
Semver sem = new Semver("1.2.3");
sem.isGreaterThan("1.2.2"); // true
sem.isGreaterThan("1.2.4"); // false
sem.isGreaterThan("1.2.3"); // false

isLowerThan returns true if the version is strictly lower than the other one.
Semver sem = new Semver("1.2.3");
sem.isLowerThan("1.2.2"); // false
sem.isLowerThan("1.2.4"); // true
sem.isLowerThan("1.2.3"); // false

isEqualTo returns true if the versions are exactly the same.
Semver sem = new Semver("1.2.3+sha123456789");
sem.isEqualTo("1.2.3+sha123456789"); // true
sem.isEqualTo("1.2.3+shaABCDEFGHI"); // false

isEquivalentTo returns true if the versions are the same (does not take the build information into account).
Semver sem = new Semver("1.2.3+sha123456789");
sem.isEquivalentTo("1.2.3+sha123456789"); // true
sem.isEquivalentTo("1.2.3+shaABCDEFGHI"); // true
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
402d
@402d
начинал с бейсика на УКНЦ в 1988
public final class BuildConfig {
...
  public static final int VERSION_CODE = 152;
  public static final String VERSION_NAME = "5.52.0";
}

Сравнивай в целых числах BuildConfig.VERSION_CODE
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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