Формат даты Garmin ConnectIQ SDK

При разработке циферблата для Garmin Fenix ​​3 я столкнулся с необходимостью отображать дату в формате ММ/ДД или ДД/ММ.

API не позволяет сохранять настройки для пользовательских циферблатов, поэтому единственный способ сделать это — использовать какое-то системное свойство... которое я не могу найти в документации по API.

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

Любая помощь или подсказки о том, как справиться с этим, приветствуются. Заранее спасибо.


person stefanu    schedule 09.08.2015    source источник


Ответы (2)


Правда, в API отсутствует способ проверить предпочтения пользователя в отношении формата даты. Собственные циферблаты Garmin, кажется, обходят это, полностью опуская месяц и показывая только «MON 12».

Я бы посмотрел на настройки времени пользователя. Если она использует 24-часовой формат, я бы сказал, что вполне безопасно предположить, что она хотела бы видеть формат DD/MM. Или, чтобы сделать еще один шаг, можно назначить «оценку», вычитаемую из нескольких настроек:

function getMonthFormat () {
    var score = 0;
    var settings = System.getDeviceSettings();

    if(settings.distanceUnits == System.UNIT_METRIC) score++;
    if(settings.paceUnits == System.UNIT_METRIC) score++;
    if(settings.temperatureUnits == System.UNIT_METRIC) score++;
    if(settings.weightUnits == System.UNIT_METRIC) score++;

    // 2/4 should be a safe assumption
    if(score >= 2) {
        return "ddmm";  // or whatever
    } else {
        return "mmdd";
    }
}
person Perttu Haliseva    schedule 12.10.2015

Функцию настройки, предоставляемую SDK, можно использовать, чтобы пользователь мог указать, какой формат использовать. Примеры использования настроек приложения есть в руководстве программиста.

person Travis Vitek    schedule 10.12.2015