Tokens API

Материал из iRidium Mobile Wiki
Перейти к: навигация, поиск


System Tokens

ЗАГРУЗИТЬ: Пример проекта

System Token - системный токен. Возвращает значение системных параметров управляющей панели (время, дата, координаты GPS, ...). Токен можно привязать к любому графическому элементу интерфейса, и он будет выводить в него полученную от системы информацию. В системный токен нельзя записать значение из интерфейса, данные в него вносит только система.

Для того, чтобы привязать системный токен к графическому элементу, используйте метод Drag&Drop. Альтернативный способ привязки токена к элементу - через скрипт.

AddSysTokenToItem.png


Назначение системных токенов с примером вызова из скрипта:


Получить время

  • "System.Time.Seconds" - системное время, секунды
IR.GetVariable("System.Time.Seconds")
  • "System.Time.Minutes" - системное время, минуты
IR.GetVariable("System.Time.Minutes")
  • "System.Time.Hour" - системное время, часы
IR.GetVariable("System.Time.Hour")
  • "System.Time.24" - системное время в 24-часовом формате
IR.GetVariable("System.Time.24")
  • "System.Time.12_AM_PM" - системное время в 12-часовом формате
IR.GetVariable("System.Time.12_AM_PM")
  • "System.Time.Standart" - системное время в формате, установленном для ОС
IR.GetVariable("System.Time.Standart")
IR.AddListener(IR.EVENT_START, 0, function()
{
var time = IR.GetVariable("System.Time.Seconds");
IR.Log(time);
});

↑ К оглавлению

Получить дату

  • "System.Date.DayOfYear" - системная дата, день года
IR.GetVariable("System.Date.DayOfYear")
  • "System.Date.Year" - системная дата, текущий год
IR.GetVariable("System.Date.Year")
  • "System.Date.DayOfWeek" - системная дата, день недели
IR.GetVariable("System.Date.DayOfWeek")
  • "System.Date.Month" - системная дата, текущий месяц
IR.GetVariable("System.Date.Month")
  • "System.Date.Day" - системная дата, текущий день месяца
IR.GetVariable("System.Date.Day")
  • "System.Date.YYYY_MM_DD" - системная дата в формате ГГГГ_ММ_ДД (цифровой вид)
IR.GetVariable("System.Date.YYYY_MM_DD")
  • "System.Date.DD_MONTH_YYYY" - системная дата в формате ДД_МЕСЯЦ_ГГГГ (цифро-буквенный вид)
IR.GetVariable("System.Date.DD_MONTH_YYYY"")
  • "System.Date.MONTH_DD_YYYY" - системная дата в формате МЕСЯЦ_ДД_ГГГГ (цифро-буквенный вид)
IR.GetVariable("System.Date.MONTH_DD_YYYY")
  • "System.Date.DD_MM_YYYY" - системная дата в формате ДД_ММ_ГГГГ (цифровой вид)
IR.GetVariable("System.Date.DD_MM_YYYY")
  • "System.Date.MM_DD_YYYY" - системная дата в формате ММ_ДД_ГГГГ (цифровой вид)
IR.GetVariable("System.Date.MM_DD_YYYY")
  • "System.Date.DD_MM" - системная дата в формате ДД_ММ (цифровой вид)
IR.GetVariable("System.Date.DD_MM")
  • "System.Date.MM_DD" - системная дата в формате ММ_ДД (цифровой вид)
IR.GetVariable("System.Date.MM_DD")
  • "System.Date.Weekday" - системная дата, день недели (цифровой вид)
IR.GetVariable("System.Date.Weekday")
IR.AddListener(IR.EVENT_START, 0, function()
{
var date = IR.GetVariable("System.Date.Year");
IR.Log(date);
});

↑ К оглавлению

Получить GPS координаты и параметры

  • "System.Location.Course" - курс
IR.GetVariable("System.Location.Course")
  • "System.Location.Speed" - скорость
IR.GetVariable("System.Location.Speed")
  • "System.Location.Altitude" - высота
IR.GetVariable("System.Location.Altitude")
  • "System.Location.Longitude" - долгота
IR.GetVariable("System.Location.Longitude")
  • "System.Location.Latitude" - широта
IR.GetVariable("System.Location.Latitude")
IR.AddListener(IR.EVENT_START, 0, function()
{
var GPS = IR.GetVariable("System.Location.Course");
IR.Log(GPS);
});

↑ К оглавлению

Получить данные с компаса

  • "System.Magnetic.Accuracy" - точность показаний (степень намагниченности)
IR.GetVariable("System.Magnetic.Accuarcy")
  • "System.Magnetic.True" - истинный север
IR.GetVariable("System.Magnetic.True")
  • "System.Magnetic.Heading" - магнитный север
IR.GetVariable("System.Magnetic.Heading")
  • "System.Magnetic.Z" - координата по Z
IR.GetVariable("System.Magnetic.Z")
  • "System.Magnetic.Y" - координата по Y
IR.GetVariable("System.Magnetic.Y")
  • "System.Magnetic.X" - координата по X
IR.GetVariable("System.Magnetic.X")
IR.AddListener(IR.EVENT_START, 0, function()
{
var compass = IR.GetVariable("System.Magnetic.Accuarcy");
IR.Log(compass);
});

↑ К оглавлению

Получить данные с акселерометра

  • "System.Accelerometer.Shake" - встряхивание
IR.GetVariable("System.Accelerometer.Shake")
  • "System.Accelerometer.Z" - координата по Z
IR.GetVariable("System.Accelerometer.Z")
  • "System.Accelerometer.Y" - координата по Y
IR.GetVariable("System.Accelerometer.Y")
  • "System.Accelerometer.X" - координата по X
IR.GetVariable("System.Accelerometer.X")
IR.AddListener(IR.EVENT_START, 0, function()
{
var Accelerometer = IR.GetVariable("System.Accelerometer.Shake");
IR.Log(Accelerometer);
});

↑ К оглавлению

Получить данные с гироскопа

  • "System.Gyroscope.Z" - координата по Z
IR.GetVariable("System.Gyroscope.Z")
  • "System.Gyroscope.Y" - координата по Y
IR.GetVariable("System.Gyroscope.Y")
  • "System.Gyroscope.X" - координата по X
IR.GetVariable("System.Gyroscope.X")
IR.AddListener(IR.EVENT_START, 0, function()
{
var Gyroscope = IR.GetVariable("System.Gyroscope.Z");
IR.Log(Gyroscope);
});


↑ К оглавлению

Получить данные о дисплее устройства

  • "System.Display.FullScreen" - полноэкранный режим работы
IR.GetVariable("System.Display.FullScreen")
  • "System.Display.Height" - высота дисплея
IR.GetVariable("System.Display.Height")
  • "System.Display.Width" - ширина дисплея
IR.GetVariable("System.Display.Width")
  • "System.Display.Bright" - яркость дисплея (только для iOS)
IR.GetVariable("System.Display.Bright")
IR.SetVariable("System.Display.Bright", 80)  //изменить яркость (не работает в фоновом режиме)
  • "System.ViewOrientation" - ориентация дисплея
IR.GetVariable("System.ViewOrientation")

Выходные значения ориентации дисплея:

  • 1 - вертикально, кнопка Home сверху
  • 2 - вертикально, кнопка Home снизу
  • 3 - горизонтально, кнопка Home слева (по-умолчанию)
  • 4 - горизонтально, кнопка Home справа
IR.AddListener(IR.EVENT_START, 0, function()
{
var Display = IR.GetVariable("System.Display.FullScreen");
IR.Log(Display);
});

↑ К оглавлению

Информация о сетях

Имя переменной:

  • "System.Net.Cell" - статус подключения к 3G / 4G сетям
  • "System.Net.WiFi" - статус подключения к Wi-Fi сети

Синтаксис чтения:

  • IR.GetVariable("System.Net.Cell")
  • IR.GetVariable("System.Net.WiFi")

Пример чтения:


var Cell = IR.GetVariable("System.Net.Cell");
var WiFi= IR.GetVariable("System.Net.WiFi");

IR.Log("Cell:" + Cell + " / Wi-Fi:" + WiFi);

Значения на выходе:

  • true - есть подключение
  • false - нет подключения

Подробнее о SetParametters

↑ К оглавлению

Получить информацию о батарее

  • "System.Battery.Level" - уровень заряда батареи
IR.GetVariable("System.Battery.Level")
  • "System.Battery.Status" - статус батареи ()
IR.GetVariable("System.Battery.Status")
IR.AddListener(IR.EVENT_START, 0, function()
{
var Battery = IR.GetVariable("System.Battery.Level");
IR.Log(Battery);
});

Выходные значения:

  • 1 - не заряжается
  • 2 - заряжается
  • 3 - максимальная зарядка (для iOS)

↑ К оглавлению

Громкость на устройстве

  • "System.Sound.Volume" - значение громкости
IR.GetVariable("System.Sound.Volume")
  • "System.Sound.Mute" - беззвучный режим
IR.GetVariable("System.Sound.Mute")
IR.AddListener(IR.EVENT_START, 0, function()
{
var Sound = IR.GetVariable("System.Sound.Volume");
IR.Log(Sound);
});

↑ К оглавлению

Датчик приближения на устройстве

  • "System.Proximity" - датчик приближения

Синтаксис:

IR.GetVariable("System.Proximity")

Пример использования:

IR.AddListener(IR.EVENT_START, 0, function()
{
// Получаем состояние наличие датчика приближения
var Proximity = IR.GetVariable("System.Proximity");
// Выводим в консоль отладки
IR.Log(Proximity);
});

Значения на выходе:

  • false (0) - датчик не задействован
  • true (1) - датчик сработал

↑ К оглавлению

Вибрация на устройстве

  • "System.Vibro" - заставляет устройство вибрировать

Синтаксис:

IR.SetVariable("System.Vibro",1) // Принудить вибрировать (только для iOS и Android)   

↑ К оглавлению

Состояние режима обновления

"System.Update" - системная переменная, хранящая состояние режима обновления проектов. При использовании функции получения значения IR.GetVariable, возвращает число false (0) или true (1).

  • false (0) - режим обновления проектов выключен.
  • true (1) - режим обновления проектов включен.
IR.AddListener(IR.EVENT_START, 0, function()
{
// Получаем состояние режима обновления
var UpdateState = IR.GetVariable("System.Update"); 
// Выводим в консоль отладки
IR.Log(UpdateState);
});

Системная переменная "System.Update" доступна для записи - вы можете использовать функцию IR.SetVariable для изменения режима обновления проектов. Благодаря этому вы можете включать или выключать режим обновления, в любой момент работы проекта.

  • Что бы отключить обновление проекта, следует записать число 0 или логическое значение false в системную переменную System.Update, пример: IR.SetVariable("System.Update", false);
  • Что бы включить обновление проекта, следует записать число 1 или логическое значение true в системную переменную System.Update, пример: IR.SetVariable("System.Update", true);

Также переменная "System.Update" доступная для чтения, прочитать об этом вы можете здесь.

IR.AddListener(IR.EVENT_START, 0, function()
{
// Включим режима обновления 
IR.SetVariable("System.Update", true); 
// Выключим режима обновления 
IR.SetVariable("System.Update", false);
});

↑ К оглавлению

Название операционной системы

"System.OS.Name" - cистемная переменная, возвращает имя ОС на которой в текущий момент запущен клиент iRidium.

Синтаксис:
IR.GetVariable("System.OS.Name");

Выходные значения:

  • Windows
  • MacOSX
  • iOS
  • Android

Пример использования:

IR.AddListener(IR.EVENT_START, 0, function()
{
   // Запись значения ОС в переменную OS
   var OS = IR.GetVariable("System.OS.Name");
   // Вывод переменной OS в консоль отладки
   IR.Log(OS);
});

↑ К оглавлению

Вид управляющего устройства

"System.OS.Device" - системная переменная, возвращает специальный идентификатор версии ОС на которой в текущий момент запущен клиент iRidium.

Синтаксис:

IR.AddListener(IR.EVENT_START, 0, function()
{
IR.GetVariable("System.OS.Device");
});

Выходные значения:

  • При использовании на ОС Windows
    • 1 - ОС Windows x86 32 / 64 bit
  • При использовании на Mac OS X
    • 1 - Mac OS X PPC
    • 2 - Mac OS X X86 32 bit
    • 3 - Mac OS X X86 64 bit
  • При использовании на iOS
    • 1 - iPhone
    • 2 - iPad
  • При использовании на Android
    • 1 - Phone
    • 2 - Tablet

Пример использования:

IR.AddListener(IR.EVENT_START, 0, function()
{
   // Запись идентификатор версии ОС в переменную Device 
   var Device = IR.GetVariable("System.OS.Device");
   // Вывод переменной Device в консоль отладки
   IR.Log(Device);
});

↑ К оглавлению

Версия операционной системы

"System.OS.Version" - системная переменная, возвращает версию ОС. На данный момент не реализована. Синтаксис:

IR.GetVariable("System.OS.Version");

↑ К оглавлению

Имя управляющего устройства

"System.Device.Name" - системная переменная, возвращает сетевое имя управляющего устройства, на котором запущено приложение i2 Control.

Синтаксис:

IR.GetVariable("System.Device.Name");

↑ К оглавлению

Ориентация управляющего устройства

"System.Device.Orientation" - системная переменная, возвращает ориентацию устройства, на котором запущенно приложение i2 Control.

Синтаксис:

IR.GetVariable("System.Orientation");

Выходные значения:

  • 1 - вертикально, кнопка Home/Menu внизу экрана
  • 2 - вертикально, кнопка Home/Menu вверху экрана
  • 3 - горизонтально, кнопка Home/Menu справа экрана
  • 4 - горизонтально, кнопка Home/Menu слева экрана
  • 5 - горизонтально, экраном вверх
  • 6 - горизонтально, экраном вниз
  • 0 - в процессе смены положения

Пример использования:

IR.AddListener(IR.EVENT_START, 0, function()
{
   // Получаем состояние ориентации
   var Orientation = IR.GetVariable("System.Orientation");
   // Вывод переменной Orientation в консоль отладки
   IR.Log(Orientation);
});

↑ К оглавлению

Project Tokens

Project Tokens - токены (переменные) проекта. Переменная может хранить данные, которые будут доступны для записи и чтения. Записать данные в токен или прочитать их может графический элемент, драйвер или скрипт.

Tokens 1.png

  • Переменные хранятся в Дереве устройств проекта (Project Device Panel)
  • В переменную можно записать число или строку (DEC или ASCII).
  • Их можно создавать, удалять, делать копии, сортировать между собой и группировать по папкам.
  • Данные в переменных можно сохранять (или не сохранять) после закрытия приложения iRidium.
  • Записать данные в переменную можно командой с элемента или из iRidium Script


Запись значений в Project Tokens

Функция IR.SetVariable используется для записи любого значения в любой Project Token.

IR.SetVariable("Tokens.TokenName",Value), где

  • TokenName - имя любого токена находящегося в папке Project Tokens в панели Project Device Panel
  • Value - любое значение (число, строка, массив чисел, массив строк).


Пример:

IR.AddListener(IR.EVENT_START, 0, function()
{
// Запись числа 23 в токен проекта c именем test
IR.SetVariable("Tokens.test",23); 
// Вывод в консоль отладки значение токена проекта c именем test 
IR.Log(IR.GetVariable("Tokens.test"));
});


Чтение значений из Project Tokens

Функция IR.SetVariable используется для записи любого значения в любой Project Token.

IR.GetVariable("Tokens.TokenName"), где

  • TokenName - имя любого токена находящегося в папке Project Tokens в панели Project Device Panel


Пример:

IR.Log(IR.GetVariable("Tokens.test_token"));

Запись массивов в Projects Token и их извлечение

ЗАГРУЗИТЬ: Проекты

Одномерный массив
var Value_Buttons = [0,0]; 

function LoadData(){
   Value_Buttons = IR.GetVariable("Global.Data").split(",");    
   IR.Log(Value_Buttons)
}
                           
                     
function SaveData(){
   IR.SetVariable("Global.Data", Value_Buttons);    
   IR.Log(Value_Buttons);
}

SaveData();
LoadData();
Двумерный массив
var Value_Buttons = [[0,0],[1,1]]; 

function LoadData(){
   var data = IR.GetVariable("Global.Data");
   data = data.split(";");
   
   for(var i = 0; i < data.length; i++)
     Value_Buttons[i] = data[i].split(",");
   
   IR.Log(Value_Buttons)
}   
                 
function SaveData(){
   var data = "";
   
   for(var i = 0; i < Value_Buttons.length; i++)
     data += Value_Buttons[i] + ";";
     
   IR.SetVariable("Global.Data", data);
   
   IR.Log(data);
}

SaveData();
LoadData();
Трехмерный массив
var Value_Buttons = [[[0,0],[1,1]],[[2,2],[3,3]]]; 

function LoadData(){
   var data_1 = IR.GetVariable("Global.Data");
   var data_2 = [];

   data_1 = data_1.split(":");
     
   for(var i = 0; i < data_1.length; i++){
      data_2[i] = data_1[i].split(";");
      
      for(var j = 0; j < data_2[i].length; j++)
         Value_Buttons[i][j] = data_2[i][j].split(",");  
   }
   IR.Log(Value_Buttons);
}                 
                     
function SaveData(){
   var data = "";
     
   for(var i = 0; i < Value_Buttons.length; i++){
      for(var j = 0; j < Value_Buttons[i].length; j++){
         data += Value_Buttons[i][j];
         
         if(j < Value_Buttons[i].length -1)
            data += ";"
      }          
      if(i < Value_Buttons.length -1)
         data += ":";
   }
   IR.SetVariable("Global.Data", data);
   IR.Log(data);
}

SaveData(); 
LoadData();

ЗАГРУЗИТЬ: Пример проекта