Разработка web-приложений Tizen

Tizen API для веб-приложений I

Показывать лекцию целиком

Используя модули Tizen Web API можно разрабатывать насыщенные Интернет-приложения с помощью таких хорошо известных языков программирования, как HTML, CSS и JavaScript. Подобно основным современным браузерам, модули Tizen Web API поддерживают самые последние достижения HTML5, такие как анимация, offline-приложения, работа с высококачественным аудио и видео. Используя стандартные возможности HTML5, веб-приложения готовы работать на различных устройствах и платформах с минимальными настройки. В дополнение к Tizen Device API мобильные приложения могут получать расширенный доступ к аппаратному обеспечению, например, к Bluetooth или NFC.

Часть 1. Tizen

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

Tizen API

Этот API предоставляет общую функциональность Tizen. Эти API предоставляют общие определения, используемые в Tizen Web Device API. Они включают общие вызовы, происходящие, когда операции выполняются успешно или заканчиваются неудачей. WebAPIError и WebAPIException дают информацию об ошибках платформы и интерфейсы фильтров, используемые для создания критериев отбора во время выполнения запросов.

Определения типов

FilterMatchFlag

Флаги соответствия фильтрам описываются в перечислении FilterMatchFlag

  enum FilterMatchFlag { "EXACTLY", "FULLSTRING", "CONTAINS", "STARTSWITH", "ENDSWITH", "EXISTS" };
  • EXACTLY - Указывает, что значение атрибута должно совпадать с указанным значением по умолчанию. Строки чувствительны к регистру.
  • FULLSTRING – Построчное сравнение, значения атрибутов должны совпадать со всей строкой. Строки чувствительны к регистру
  • CONTAINS - Указывает, что значение атрибута должно содержать указанную строку. Этот тип сравнения работает только со строками и без учета регистра.
  • STARTSWITH - Указывает, что значение атрибута должно начинаться с указанной строки. Этот тип сравнения работает только со строками и без учета регистра.
  • ENDSWITH - Указывает, что значение атрибута должно заканчиваться указанной строки. Этот тип сравнения работает только со строками и без учета регистра.
  • EXISTS - Указывает, что сравнение фильтр должен соответствовать, если заданный атрибут существует.
  • SortModeOrder

    Порядок сортировки определяется в перечислении SortModeOrder

    enum SortModeOrder { "ASC", "DESC" };
    
  • ASC – Сортировка по возрастанию
  • DESC – Сортировка по убыванию
  • CompositeFilterType

    Тип композитного фильтра задается в перечислении CompositeFilterType

    enum CompositeFilterType { "UNION", "INTERSECTION" };
    
    
  • UNION – композит – это объединение фильтров (оператор "OR")
  • INTERSECTION – композит – это – пересечение фильтров (оператор "AND")
  • Проиллюстрируем сказанное на примере использования атрибута фильтра EXACTLY. Создадим проект Tizen. Добавим следующие привилегии:

    (рис 15.1)

    Добавим скрипт в файл index.html

    <script type="text/javascript">
    
     // The following example retrieves all songs from the album "The Joshua Tree".
        var count = 100;
        var offset = 0;
        var albumFilter = new tizen.AttributeFilter("album", "EXACTLY", "The Joshua Tree");
    
        function errorCB(err) {
            console.log( 'The following error occurred: ' +  err.name);
        }
    
        function findCB(contents) {
            console.log('The Joshua Tree :' + contents.length);
        }
    
        tizen.content.find(findCB, errorCB, null, albumFilter, null, count, offset);
    
        
        </script>
    
    
    (рис 15.2)

    AttributeRangeFilter

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

    <script type="text/javascript">
    
        var count = 100;
        var offset = 0;
        // Use the modifiedDate attribute with a range that starts today and ends in 1 day
        // (meaning that you search for all contents modified today)
        var today = new Date();
        var today_begin = new Date(today.getFullYear(), today.getMonth(),today.getDate());
        var today_end = new Date(today.getFullYear(), today.getMonth(),today.getDate()+1);
        var dateRangeFilter = new tizen.AttributeRangeFilter("modifiedDate", today_begin, today_end);
    
        function errorCB(err) {
            console.log( 'The following error occurred: ' +  err.name);
        }
    
        function findCB(contents) {
            console.log('The contents modified today :' + contents.length);
        }
    
        tizen.content.find(findCB, errorCB, null, dateRangeFilter, null, count, offset);
    
        
        </script>
    
    
    (рис 15.3)

    CompositeFilter

    CompositeFilter представляет набор фильтров.

    Композитный фильтр может быть одним из двух типов:

  • The union – используется для фильтрации объектов, которые соответствуют любому из включенных фильтров
  • The intersection - используется для фильтрации объектов, которые соответствуют всем фильтрам.
  • <script type="text/javascript">
    
     // The following example retrieves all songs from the album "The Joshua Tree", by artist "U2".
        var count = 100;
        var offset = 0;
        var artistFilter = new tizen.AttributeFilter("artists", "EXACTLY", "U2");
        var albumFilter = new tizen.AttributeFilter("album", "EXACTLY", "The Joshua Tree");
        var filter = new tizen.CompositeFilter("INTERSECTION", [albumFilter, artistFilter]);
    
        function errorCB(err) {
            console.log( 'The following error occurred: ' +  err.name);
        }
    
        function findCB(contents) {
            console.log('The Joshua Tree by U2:' + contents.length);
        }
    
        tizen.content.find(findCB, errorCB, null, filter, null, count, offset);
    
        
        </script>
    
    
    (рис 15.4)

    https://developer.tizen.org/dev-guide/2.3.0/org.tizen.web.apireference/html/device_api/mobile/tizen/tizen.html

    Вернуться к учебному плану