СПОСОБ И УСТРОЙСТВО ДЛЯ ЗАПУСКА ПРИКЛАДНОЙ ПРОГРАММЫ
APPLICATION PROGRAM RUNNING METHOD AND DEVICE

ПЕРЕКРЕСТНАЯ ССЫЛКА НА СООТВЕТСТВУЮЩИЕ ЗАЯВКИ
[0001] Настоящая заявка основана на и заявляет о приоритете по китайской заявке на патент №201410470307.8, поданной 16 сентября 2014 г., полное содержание которой включено сюда посредством ссылки.
ОБЛАСТЬ ТЕХНИКИ
[0002] Настоящее изобретение в целом относится к области мобильных терминалов, и, в частности, к способу запуска прикладной программы и к устройству для запуска прикладной программы.
ВВОДНАЯ ИНФОРМАЦИЯ
[0003] Операционная система Android является интеллектуальной операционной системой, которая может обеспечить различные функции, путем установки различных прикладных программ (приложений).
[0004] В предшествующем уровне техники разработанная и завершенная прикладная программа упаковывается в пакет установки в формате с расширением «арк»акет установки публикуется для пользователя. Когда пользователь намеревается использовать прикладную программу, он устанавливает пакет установки в мобильном терминале с операционной системой Android, а затем запускает приложение. Но для некоторых пользователей (например, для пожилых людей) установка прикладной программы является затруднительной. Техническим результатом является упрощение технологии установки прикладной программы, которое реализуется благодаря заявляемому способу запуска прикладной программы и устройству для запуска прикладной программы.
КРАТКОЕ ИЗЛОЖЕНИЕ
[0005] Чтобы решить проблему, когда прикладную программу можно использовать только если установлен соответствующий пакет установки, настоящее изобретение предлагает способ запуска прикладной программы и устройство для запуска прикладной программы. Техническое решение представляется следующим.
[0006] Согласно первому аспекту вариантов осуществления настоящего изобретения предусмотрен способ запуска прикладной программы, включающий: получение сигнала запуска, настроенного на указание запуска второй прикладной программы, в запущенной первой прикладной программе;
загрузку и анализ первой прикладной программой пакета установки второй прикладной программы, для получения программного компонента второй прикладной программы;
запуск программного компонента второй прикладной программы в среде выполнения, представленной первой прикладной программой.
[0007] В качестве альтернативы, запуск программного компонента второй прикладной программы в среде выполнения, представленной первой прикладной программой, включает:
определение первой прикладной программой программного компонента запускаемой второй прикладной программы;
запуск первой прикладной программой тестового программного компонента, соответствующего программному компоненту;
запуск программного компонента в контексте выполнения, представленном тестовым программным компонентом в первой прикладной программе.
[0008] В качестве альтернативы, запуск программного компонента в контексте, представленном тестовым программным компонентом в первой прикладной программе, включает:
вызов программного компонента тестовым программным компонентом в первой прикладной программе посредством механизма отражения;
запуск вызванного программного компонента в контексте выполнения, представленном тестовым программным компонентом в первой прикладной программе.
[0009] В качестве альтернативы, загрузка и анализ первой прикладной программой пакета установки второй прикладной программы, для получения программного компонента второй прикладной программы, включают:
загрузку и анализ первой прикладной программой пакета установки второй прикладной программы, для получения конфигурационного файла второй прикладной программы;
получение первой прикладной программой, по меньшей мере, одного программного компонента во второй прикладной программе, в соответствии с конфигурационным файлом, в котором программный компонент включает, по меньшей мере, один из следующих компонентов: активный компонент, компонент службы, компонент поставщика содержания и компонент широковещательного приемника.
[0010] Альтернативно, способ дополнительно включает: регистрация первой прикладной программой типа Intent-сообщения (сообщение «намерения» [Intent] в ОС Android) в операционной системе, в соответствии с конфигурационным файлом, в котором Intent-сообщение контролируется каждым программным компонентом во второй прикладной программе.
[0011] В качестве альтернативы, определение первой прикладной программой программного компонента запускаемой второй прикладной программы включает: во время запуска второй прикладной программы, получение первой прикладной программой компонента выполнения по умолчанию, переданного обратно второй прикладной программой, и определение компонента выполнения по умолчанию в качестве программного компонента для запуска.
[0012] В качестве альтернативы, определение первой прикладной программой программного компонента запускаемой второй прикладной программы включает:
получение первой прикладной программой Intent-сообщения, передаваемого операционной системой, причем Intent-сообщение согласуется с типом Intent-сообщения, зарегистрированным в операционной системе;
определение программного компонента, настроенного на отслеживание Intent-сообщения, в качестве программного компонента для запуска, если во второй прикладной программе не был запущен программный компонент, настроенный на отслеживание Intent-сообщения.
[0013] Альтернативно, способ дополнительно включает:
получение первой прикладной программой Intent-сообщения, переданного операционной системой, причем Intent-сообщение согласуется с типом Intent-сообщения, зарегистрированным в операционной системе, и передача Intent-сообщения в программный компонент для обработки, если во второй прикладной программе запущен программный компонент, настроенный на отслеживание Intent-сообщения;
и/или
получение первой прикладной программой Intent-сообщения для отправки одним программным компонентом во второй прикладной программе и передача Intent-сообщения в операционную систему.
[0014] Альтернативно, способ дополнительно включает:
выполнение первой прикладной программы операции управления для пакетов установки разных версий второй прикладной программы, причем операция управления содержит, по меньшей мере, одну из операций: операция загрузки, операция обновления и операция удаления.
[0015] Согласно второму аспекту вариантов осуществления настоящего изобретения предусмотрено устройство для выполнения прикладной программы, включающее:
модуль получения сигнала, настроенный на получение сигнала запуска, указывающего на выполнение второй прикладной программы в запущенной первой прикладной программе;
модуль анализа пакет установки, настроенный на загрузку и анализ первой прикладной программой пакета установки второй прикладной программы, для получения программного компонента второй прикладной программы;
модуль выполнения программы, настроенный на выполнение программного компонента второй прикладной программы в среде выполнения, представленной первой прикладной программой.
[0016] В качестве альтернативы, модуль запуска программы включает в себя:
субмодуль определения компонентов, субмодуль запуска тестовой среды и субмодуль выполнения компонентов;
субмодуль определения компонентов, настроенный на определение первой прикладной программой программного компонента запускаемой второй прикладной программы;
субмодуль запуска тестовой среды, настроенный на запуск первой прикладной программой тестового программного компонента, соответствующего программному компоненту;
субмодуль выполнения компонентов, настроенный на запуск программного компонента в контексте выполнения, представленном тестовым программным компонентом в первой прикладной программе.
[0017] В качестве альтернативы, субмодуль выполнения компонентов включает в себя: субмодуль вызова и субмодуль выполнения;
субмодуль вызова настроен на вызов программного компонента тестовым программным компонентом в первой прикладной программе посредством механизма отражения;
субмодуль выполнения настроен на выполнение вызванного программного компонента в контексте выполнения, представленном тестовым программным компонентом в первой прикладной программе.
[0018] В качестве альтернативы, модуль анализа пакета установки включает в себя: субмодуль анализа файлов и субмодуль анализа компонентов;
субмодуль анализа файлов настроен на загрузку и анализ первой прикладной программой пакета установки второй прикладной программы, для получения конфигурационного файла второй прикладной программы;
субмодуль анализа компонентов настроен на получение первой прикладной программой, по меньшей мере, одного программного компонента во второй прикладной программе, в соответствии с конфигурационным файлом, причем программный компонент включает, по меньшей мере, один из следующих компонентов: активный компонент, компонент службы, компонент поставщика содержания и компонент широковещательного приемника.
[0019] Альтернативно, устройство дополнительно включает:
модуль регистрации сообщений, настроенный на регистрацию первой прикладной программой типа Intent-сообщения в операционной системе, в соответствии с конфигурационным файлом, в котором Intent-сообщение контролируется каждым программным компонентом во второй прикладной программе.
[0020] В качестве альтернативы, субмодуль определения компонентов включает в себя: первый определяющий субмодуль;
первый определяющий субмодуль настроен на получение первой прикладной программой компонента выполнения по умолчанию, переданного обратно второй прикладной программой, и определение компонента выполнения по умолчанию в качестве программного компонента для запуска, во время запуска второй прикладной программы.
[0021] В качестве альтернативы, субмодуль определения компонентов включает в себя: субмодуль приема сообщений и второй определяющий субмодуль;
субмодуль приема сообщений настроен на получение первой прикладной программой Intent-сообщения, передаваемого операционной системой, причем Intent-сообщение согласуется с типом зарегистрированного Intent-сообщения;
второй определяющий субмодуль настроен на определение программного компонента, настроенного на отслеживание Intent-сообщения, в качестве программного компонента для запуска, если во второй прикладной программе не был запущен программный компонент, настроенный на отслеживание Intent-сообщения.
[0022] Альтернативно, устройство дополнительно включает:
первый модуль передачи, настроенный на получение первой прикладной программой Intent-сообщения, переданного операционной системой, причем Intent-сообщение согласуется с типом Intent-сообщения, зарегистрированным в операционной системе, и передачу Intent-сообщения в программный компонент для обработки, если во второй прикладной программе запущен программный компонент, настроенный на отслеживание Intent-сообщения;
и/или
второй модуль передачи, настроенный на получение первой прикладной программой Intent-сообщения для отправки одним программным компонентом во второй прикладной программе и передачу Intent-сообщения в операционную систему.
[0023] Альтернативно, устройство дополнительно включает:
модуль управления пакетом установки, настроенный на выполнение первой прикладной программы операции управления для пакетов установки разных версий второй прикладной программы, причем операция управления содержит, по меньшей мере, одну из операций: операция загрузки, операция обновления и операция удаления.
[0024] Согласно третьему аспекту вариантов осуществления настоящего изобретения предусмотрено устройство для выполнения прикладной программы, включающее:
процессор;
память, сконфигурированную для хранения инструкции, исполняемой процессором; в котором процессор сконфигурирован на:
получение сигнала запуска в первой запущенной прикладной программе, с указанием запуска второй прикладной программы;
загрузку и анализ первой прикладной программой пакета установки второй прикладной программы, для получения программного компонента второй прикладной программы;
запуск программного компонента второй прикладной программы в среде выполнения, представленной первой прикладной программой.
[0025] В соответствии с вариантами осуществления настоящего изобретения техническое решение приводит к следующим результатам: путем загрузки и анализа пакета установки второй прикладной программы в запущенной первой прикладной программе происходит получение программного компонента второй прикладной программы, и программный компонент второй прикладной программы выполняется в среде выполнения, представленной первой прикладной программой, чем решается проблема того, что прикладная программа может быть использована только если установлен соответствующий пакет установки, и достигается эффект того, что вторая прикладная программа может работать в среде выполнения, представленной первой прикладной программой, без установки второй прикладной программы.
[0026] Следует понимать, что предшествующее общее описание и последующее подробное описание являются только иллюстративными и пояснительными и не ограничивают изобретения, как заявлено.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0001] Прилагаемые чертежи, включенные в документ и составляющие часть данного описания, иллюстрируют варианты осуществления в соответствии с изобретением и вместе с описанием служат для объяснения принципов изобретения.
[0002] Фиг. 1 представляет собой блок-схему способа выполнения прикладной программы в соответствии с примерным вариантом осуществления;
[0003] Фиг. 2 представляет собой принципиальную схему способа выполнения прикладной программы в соответствии с другим примерным вариантом осуществления;
[0004] Фиг. 3 представляет собой блок-схему способа выполнения прикладной программы в соответствии с другим примерным вариантом осуществления;
[0005] Фиг. 4 представляет собой блок-схему подэтапов способа выполнения прикладной программы в соответствии с другим примерным вариантом осуществления;
[0006] Фиг. 5 представляет собой структурную схему устройства для выполнения прикладной программы в соответствии с примерным вариантом осуществления;
[0007] Фиг. 6 представляет собой структурную схему устройства выполнения прикладной программы в соответствии с другим примерным вариантом осуществления;
[0008] ФИГ. 7 представляет собой структурную схему устройства в соответствии с примерным вариантом осуществления.
ПОДРОБНОЕ ОПИСАНИЕ
[0009] Ниже будет приведено подробное описание примерных вариантов осуществления, примеры которых проиллюстрированы на прилагаемых чертежах. Следующее описание ссылается на прилагаемые чертежи, на которых одинаковые номера на разных чертежах представляют собой одинаковые или аналогичные элементы, если не указано иное. Реализации, изложенные в последующем описании примерных вариантов осуществления, не являются всеми реализациями, соответствующими изобретению. Они являются просто примерами устройств и способов, которые соответствуют аспектам, связанным с изобретением, как изложено в прилагаемой формуле изобретения.
[0010] Сначала описываются термины, используемые в настоящем изобретении.
[0011] Android представляет собой операционную систему на базе Linux, со свободным и открытым исходным кодом, которая производится компанией Google в США и в основном используется в мобильных устройствах. Мобильное устройство может быть представлено телефоном, планшетным ПК, электронной книгой, плеером Moving Picture Experts Group Audio Layer III (МР3), плеером Moving Picture Experts Group Audio Layer IV (MP4), ноутбуком и т.д.
[0012] Пакет установки прикладной программы представляет собой файл, сконфигурированный на установку прикладной программы в операционной системе и, как правило, представляет собой набор файлов, которые могут быть распакованы самостоятельно. В пакет входят все файлы, необходимые для запуска прикладной программы. В операционной системе Android пакет установки прикладной программы, как правило, представляет собой файл, упакованный в формате «apk».
[0013] Прикладная программа может именоваться приложением. В операционной системе Android одна прикладная программа включает в себя, по меньшей мере, один программный компонент. Программный компонент делится на четыре группы: активный компонент, компонент службы, компонент поставщика содержания и компонент широковещательного приемника.
[0014] Активный компонент является компонентом, настроенным на взаимодействие с пользователем в прикладной программе Android и обеспечивающим визуальный интерфейс пользователя для прикладной программы Android. Одна прикладная программа Android может включать в себя от нуля до нескольких компонентов.
[0015] Компонент службы является компонентом, работающим в фоновом режиме и не предоставляющим визуальный интерфейс в прикладной программе Android. Одна прикладная программа Android может включать в себя от нуля до нескольких компонентов службы.
[0016] Компонент поставщика содержания является компонентом, настроенным на предоставление данных (например, мелодия звонка, обои, телефонная книга и т.д.) для других приложений или других компонентов в текущем приложении в прикладной программе Android. Компонент поставщика содержания может паковать данные в различных форматах и предоставлять данные в стандартном формате для использования другими приложениями или компонентами.
[0017] Компонент широковещательного приемника является компонентом, настроенным на получение и отправку ответов на сообщения, передаваемые операционной системой, который может получить требуемое сообщение (или заранее определенное сообщение конкретного типа), а затем обработать или передать сообщение другим компонентам в текущем приложении.
[0018] Intent-сообщение является сообщением, настроенным на реализацию связи между программными компонентами, причем программные компоненты могут быть различными компонентами в том же приложении или различными компонентами в различных приложениях. Intent-сообщение предназначено для описания действия операции, данных, связанных с действием, и прилагаемых данных в прикладной программе. Операционная система Android настроена на поиск соответствующего программного компонента согласно Intent-сообщению и на передачу Intent-сообщения в вызываемый программный компонент, для выполнения вызова программного компонента. Intent-сообщение разделяется на две группы: явные Intent-сообщения и неявные Intent-сообщения.
[0019] Явное Intent-сообщение является Intent-сообщением, которое безусловно указывает на имя объектного программного компонента. Например, программный компонент А должен отправить Intent-сообщение «вызов 18688888888»; если программный компонент А ожидает ответа на Intent-сообщение от программного компонента В, программный компонент А определяет программный компонент В в качестве объектного программного компонента в Intent-сообщении. После получения Intent-сообщения операционная система Android передает Intent-сообщение в программный компонент В для обработки.
[0020] Неявное Intent-сообщение является Intent-сообщением, которое не указывает безусловно на имя объектного программного компонента. Например, программный компонент А должен отправить Intent-сообщение «вызов 18688888888»; если программный компонент А не знает, какой программный компонент должен ответить на Intent-сообщение, программный компонент А не определяет объектный программный компонент в Intent-сообщении. После получения Intent-сообщения операционная система Android ищет предварительно зарегистрированный тип Intent-сообщения, отслеживаемый каждым программным компонентом. Если будет установлено, что программный компонент В отслеживает Intent-сообщение о телефонном разговоре, операционная система Android передает Intent-сообщение в программный компонент В для обработки. Или операционная система Android транслирует Intent-сообщение, и компонент широковещательного приемника, заинтересованный в Intent-сообщении о телефонном звонке, принимает и обрабатывает Intent-сообщение.
[0021] Фиг. 1 является блок-схемой, показывающей способ выполнения прикладной программы, в соответствии с примерным вариантом осуществления, и вариант осуществления описан на примере применения способа для выполнения прикладной программы в мобильном терминале. Способ выполнения прикладной программы включает в себя следующие этапы
[0022] На этапе S102 происходит получение сигнала запуска, настроенного на указание запуска второй прикладной программы в запущенной первой прикладной программе.
[0023] На этапе S104 происходит загрузка и анализ пакета установки второй прикладной программы первой прикладной программой, для получения программного компонента второй прикладной программы.
[0024] На этапе S106 происходит выполнение программного компонента второй прикладной программы в среде выполнения, представленной первой прикладной программой.
[0025] В заключение, посредством способа запуска прикладной программы, согласно варианту осуществления, путем загрузки и анализа пакета установки второй прикладной программы в запущенной первой прикладной программе происходит получение программного компонента второй прикладной программы, и программный компонент второй прикладной программы выполняется в среде выполнения, представленной первой прикладной программой, чем решается проблема того, что прикладная программа может быть использована, только если установлен соответствующий пакет установки, и достигается эффект того, что вторая прикладная программа может работать в среде выполнения, представленной первой прикладной программой, без установки второй прикладной программы.
[0026] Для лучшего понимания см. Фиг. 2, которая представляет собой принципиальную схему способа выполнения прикладной программы, в соответствии с примерным вариантом осуществления. Первая прикладная программа 220 выполняется в мобильном терминале и предназначена для загрузки и анализа пакета установки второй прикладной программы 240, для получения программного компонента второй прикладной программы 240. Вторая прикладная программа 240 включает в себя один или несколько программных компонентов и каждый программный компонент может быть любым из следующих компонентов: активный компонент 242, компонент службы 244, компонент поставщика содержания 246 и компонент широковещательного приемника 248. Затем первая прикладная программа 220 обеспечивает тестовую среду для второй прикладной программы 240. Тестовая среда предоставляет контекстную среду, необходимую для выполнения программного компонента второй прикладной программы 240, и вторая прикладная программа 240 может быть выполнена в тестовой среде.
[0027] В процессе выполнения второй прикладной программы 240 первая прикладная программа 220 может выполнить программный компонент во второй прикладной программе 240 в соответствии с логикой выполнения второй прикладной программы 240. Например, при запуске второй прикладной программы 240 первая прикладная программа 220 выполняет компонент выполнения по умолчанию второй прикладной программы 240, в котором компонент выполнения по умолчанию, как правило, представляет собой активный компонент, соответствующий главному интерфейсу второй прикладной программы 240. Кроме того, например, если нажата определенная кнопка в пользовательском интерактивном интерфейсе второй прикладной программы 240, первая прикладная программа 220 выполняет другой активный компонент второй прикладной программы 240, чтобы отобразить следующий пользовательский интерактивный интерфейс второй прикладной программы 240.
[0028] Кроме того, операционная система Android или другие прикладные программы (не показаны) может отправить Intent-сообщение, отслеживаемое второй прикладной программой 240, в первую прикладную программу 220. После получения Intent-сообщения первая прикладная программа 220 выполняет соответствующий программный компонент во второй прикладной программе 240 и передает Intent-сообщение соответствующему программному компоненту. Операционная система Android или другие прикладные программы также могут вызвать компонент поставщика содержания 246 во второй прикладной программе 240 с помощью первой прикладной программы 220, то есть операционная система Android или другие прикладные программы могут использовать данные, предоставленные компонентом поставщика содержания 246 во второй прикладной программе 240.
[0029] Вторая прикладная программа 240 может отправить Intent-сообщение операционной системе Android или другим прикладным программам посредством первой прикладной программы 220. После получения Intent-сообщения первая прикладная программа 220 передает Intent-сообщение для операционной системы Android, чтобы операционная система Android могла обработать Intent-сообщение непосредственно, или передать Intent-сообщение другим прикладным программами для обработки. Вторая прикладная программа 240 также может вызывать компоненты поставщика содержания в других прикладных программах посредством первой прикладной программы 220, т.е. вторая прикладная программа 240 также может использовать данные, предоставленные компонентами поставщика содержания в других прикладных программах.
[0030] Следует добавить, что вторая прикладная программа 240 не обязательно должна иметь особые отношения с первой прикладной программой 220 и внедрение специального протокола и интерфейса между второй прикладной программой 240 и первой прикладной программой 220 не требуется до тех пор, пока вторая прикладная программа 240 согласуется со стандартом прикладных программ операционной системы Android, а пакет установки второй прикладной программы 240 согласуется со стандартом пакетов установки операционной системы Android.
[0031] Фиг. 3 представляет собой блок-схему способа выполнения прикладной программы в соответствии с другим примерным вариантом осуществления. Вариант осуществления описан с помощью примера применения способа выполнения прикладной программы в мобильном терминале, в котором мобильный терминал может быть мобильным терминалом с запущенной операционной системой Android. Способ выполнения прикладной программы включает в себя следующие этапы.
[0032] На этапе S301 происходит получение сигнала запуска, настроенного на указание запуска второй прикладной программы в запущенной первой прикладной программе.
[0033] Первая прикладная программа является прикладной программой, установленной и запущенной на мобильном терминале. Первая прикладная программа может быть сконфигурирована в качестве комплексной прикладной программы, игровой прикладной программы, управляющей прикладной программой, системной прикладной программой и т.д.
[0034] Первая прикладная программа может получить доступ к пакету установки второй прикладной программы в мобильном терминале. Вторую прикладную программу не требуется устанавливать в мобильном терминале, т.е. вторая прикладная программа может быть запущена в среде выполнения, представленной первой прикладной программой.
[0035] Мобильный терминал получает сигнала запуска, настроенный на указание запуска второй прикладной программы в запущенной первой прикладной программе. Сигналом запуска может быть сигнал по щелчку на сенсорном экране. Например, в пользовательском интерфейсе первой прикладной программы может отображаться значок второй прикладной программы. Если происходит щелчок по значку второй прикладной программы, принимаемый на сенсорном экране, мобильный терминал принимает сигнал запуска, настроенный на указание запуска второй прикладной программы.
[0036] На этапе S302 происходит загрузка и анализ пакета установки второй прикладной программы первой прикладной программой, для получения конфигурационного файла второй прикладной программы.
[0037] Конфигурационный файл представляет собой файл описания в пакете установки каждой второй прикладной программы и, как правило, это файл AndroidManifest.xml в корневом каталоге пакета установки второй прикладной программы. Конфигурационный файл может предоставить соответствующую информацию о приложении во второй прикладной программе.
[0038] Мобильный терминал загружает пакет установки второй прикладной программы с помощью первой прикладной программы, анализирует пакет установки второй прикладной программы и получает конфигурационный файл второй прикладной программы из проанализированных файлов.
[0039] На этапе S303 происходит получение первой прикладной программой, по меньшей мере, одного программного компонента второй прикладной программы, в соответствии с конфигурационным файлом.
[0040] Конфигурационный файл описывает все программные компоненты, включенные во вторую прикладную программу. Программный компонент содержит, по меньшей мере, один из следующих компонентов: активный компонент, компонент службы, компонент поставщика содержания и компонент широковещательного приемника.
[0041] Мобильный терминал анализирует конфигурационный файл с помощью первой прикладной программы, чтобы получить, по меньшей мере, один программный компонент второй прикладной программы.
[0042] На этапе S304 тип Intent-сообщения регистрируется первой прикладной программой в операционной системе в соответствии с конфигурационным файлом, причем Intent-сообщение отслеживается каждым программным компонентом во второй прикладной программе.
[0043] Конфигурационный файл также может описывать тип Intent-сообщения, отслеживаемый каждым программным компонентом во второй прикладной программе. Например, активный компонент А отслеживает Intent-сообщение типа А, а компонент службы В отслеживает Intent-сообщение типа В.
[0044] Мобильный терминал регистрирует тип Intent-сообщения с помощью первой прикладной программы в операционной системе в соответствии с конфигурационным файлом, причем Intent-сообщение отслеживается каждым программным компонентом во второй прикладной программе.
[0045] Следует отметить, что когда первая прикладная программа регистрирует тип Intent-сообщения, отслеживаемый программным компонентом во второй прикладной программе, принимающей стороной, зарегистрированной в операционной системе Android, является программный компонент в первой прикладной программе вместо программного компонента во второй прикладной программе. Например, если активный компонент А во второй прикладной программе отслеживает Intent-сообщение типа А, первая прикладная программа регистрирует Intent-сообщение типа А в операционной системе Android, но принимающей стороной зарегистрированного Intent-сообщения типа А является программный компонент в первой прикладной программе.
[0046] На этапе S305 происходит выполнение программного компонента второй прикладной программы в среде выполнения, представленной первой прикладной программой.
[0047] Мобильный терминал осуществляет запуск программного компонента второй прикладной программы в среде выполнения, представленной первой прикладной программой. Не все программные компоненты во второй прикладной программе должны быть запущены одновременно, однако, необходимо запустить часть всех программных компонентов в соответствии с требованиями. Этап S305 включает в себя следующие подэтапы, как показано на Фиг. 4.
[0048] На этапе S305a происходит определение первой прикладной программой программного компонента запускаемой второй прикладной программы.
[0049] На этапе S305b посредством первой прикладной программы мобильный терминал запускает тестовый программный компонент, соответствующий программному компоненту.
[0050] На этапе S305c мобильный терминал запускает программный компонент в контексте выполнения, представленном тестовым программным компонентом в первой прикладной программе.
[0051] Для этапа S305a есть два следующих условия.
[0052] Первое условие: во время запуска второй прикладной программы посредством первой прикладной программы мобильный терминал получает компонент выполнения по умолчанию, переданный обратно второй прикладной программой, и определяет компонент выполнения по умолчанию в качестве программного компонента для запуска.
[0053] Компонент выполнения по умолчанию, как правило, представляет собой активный компонент, соответствующий основному интерфейсу второй прикладной программы. При запуске второй прикладной программы она передает запрос в первую прикладную программу в соответствии с собственной логикой выполнения, причем запрос указывает компонент выполнения по умолчанию, а затем первая прикладная программа определяет компонент выполнения по умолчанию в качестве программного компонента второй прикладной программы для выполнения в данный момент.
[0054] Второе условие: мобильный терминал принимает Intent-сообщение, переданное из операционной системы первой прикладной программой, причем Intent-сообщение согласуется с зарегистрированным типом Intent-сообщения. Если программный компонент, настроенный на отслеживание Intent-сообщения во второй прикладной программы не запущен, то программный компонент, настроенный на отслеживание Intent-сообщения, определяется в качестве программного компонента для выполнения.
[0055] В процессе выполнения второй прикладной программы существует возможность для программного компонента во второй прикладной программе, системных прикладных программ в операционной системе Android и программным компонентам в других прикладных программах для отправки Intent-сообщения в операционную систему Android. Если Intent-сообщения является Intent-сообщением, отслеживаемым программным компонентом во второй прикладной программе, т.е. Intent-сообщение согласуется с зарегистрированным типом Intent-сообщения на этапе S304, то операционная система Android посылает Intent-сообщение в первую прикладную программу. В этот момент, если программный компонент, настроенный на отслеживание Intent-сообщения во второй прикладной программе не запущен, то программный компонент, настроенный на отслеживание Intent-сообщения во второй прикладной программе, определяется в качестве программного компонента для выполнения.
[0056] На этапе S305b, если это необходимо для выполнения какого-либо программного компонента во второй прикладной программе, мобильный терминал сначала запускает соответствующий тестовый программный компонент в первой прикладной программе, причем тестовый программный компонент настроен на предоставление контекста выполнения, необходимого для программного компонента второй прикладной программы.
[0057] Например, если необходимо выполнить активный компонент А во второй прикладной программе, запускается тестовый активный компонент А в первой прикладной программе. Кроме того, например, если необходимо выполнить компонент службы В во второй прикладной программе, запускается тестовый компонент службы В в первой прикладной программе. Таким же образом, если необходимо выполнить компонент широковещательного приемника С во второй прикладной программе, запускается тестовый компонент широковещательного приемника С в первой прикладной программе.
[0058] Другими словами, когда выполняется программный компонент во второй прикладной программе, присутствует соответствующий тестовый программный компонент в первой прикладной программе.
[0059] Этап S305c включает следующие подэтапы.
[0060] 1. Мобильный терминал вызывает программный компонент во второй прикладной программе с помощью тестового программного компонента в первой прикладной программе посредством механизма отражения.
[0061] Механизм отражения является механизмом в области программирования Java. Посредством механизма отражения может быть вызван указанный класс программных компонентов во второй прикладной программе без понимания программного компонента второй прикладной программы первой прикладной программой.
[0062] 2. Мобильный терминал выполняет вызванный программный компонент в контексте выполнения, представленном тестовым программным компонентом в первой прикладной программе.
[0063] На этапе S306 происходит получение Intent-сообщения и его отправка во вторую прикладную программу первой прикладной программой.
[0064] Мобильный терминал принимает и/или передает Intent-сообщение для второй прикладной программы с помощью первой прикладной программы.
[0065] Процесс получения: мобильный терминал принимает Intent-сообщение, переданное из операционной системы Android первой прикладной программой, причем Intent-сообщение согласуется с зарегистрированным типом Intent-сообщения, и передает Intent-сообщение в программный компонент во второй прикладной программе для обработки, если запущен программный компонент, настроенный на отслеживание Intent-сообщения во второй прикладной программе.
[0066] Например, первая прикладная программа получает Intent-сообщение, переданное из операционной системы Android. Если Intent-сообщение является Intent-сообщением, отслеживаемым компонентом широковещательного приемника D во второй прикладной программе, тестовый компонент широковещательного приемника, соответствующий компоненту широковещательного приемника D в первой прикладной программе, вызывает метод «onReceive» компонента широковещательного приемника D, чтобы компонент широковещательного приемника D мог обработать Intent-сообщение.
[0067] Процесс отправки: мобильный терминал с помощью первой прикладной программы получает Intent-сообщение для отправки одним программным компонентом во второй прикладной программе и передает Intent-сообщение в операционную систему Android.
[0068] Например, если активный компонент Е во второй прикладной программе должен отправить Intent-сообщение, активный компонент Е посылает Intent-сообщение тестовому активному компоненту, соответствующему активному компоненту Е в первой прикладной программе, а затем тестовый активный компонент перехватывает метод «SendBroadcast» операционной системы Android и передает Intent-сообщение в операционную систему Android с помощью метода «SendBroadcast».
[0069] Описанный выше процесс представляет собой процесс, в котором вторая прикладная программа выполняется в первой прикладной программе. В данном описании вторая прикладная программа указана в качестве общего примера и может относиться к разным прикладным программам.
[0070] На этапе S307 происходит выполнение первой прикладной программой операции управления для пакетов установки разных версий второй прикладной программы, причем операция управления содержит, по меньшей мере, одну из операций: операция загрузки, операция обновления и операция удаления.
[0071] Мобильный терминал управляет множеством вторых прикладных программ посредством первой прикладной программы. Для каждой второй прикладной программы мобильный терминал с помощью первой прикладной программы управляет пакетами установки разных версий второй прикладной программы, причем операция управления содержит, по меньшей мере, одну из операций: операция загрузки, операция обновления и операция удаления.
[0072] Например, у второй прикладной программы есть пакет установки новой версии и пакет установки новой версии имеет больше функций. Первая прикладная программа может скачать пакет установки новой версии и обновить вторую прикладную программу до последней версии автоматически, без привлечения пользователя, то есть пользователь может неосознанно получить обновление второй прикладной программы.
[0073] В заключение, посредством способа запуска прикладной программы, согласно варианту осуществления, путем загрузки и анализа пакета установки второй прикладной программы в запущенной первой прикладной программе происходит получение программного компонента второй прикладной программы и программный компонент второй прикладной программы выполняется в среде выполнения, представленной первой прикладной программой, чем решается проблема того, что прикладная программа может быть использована только если установлен соответствующий пакет установки, и достигается эффект того, что вторая прикладная программа может работать в среде выполнения, представленной первой прикладной программой, без установки второй прикладной программы.
[0074] С помощью способа для запуска прикладной программы в соответствии с вариантом осуществления, путем предоставления контекста выполнения соответствующего программного компонента во второй прикладной программе тестовым программным компонентом в первой прикладной программе, вторая прикладная программа может быть запущена в контексте выполнения, предоставленном первой прикладной программой, при условии, что вторая прикладная программа соответствует стандарту приложений операционной системы Android. Между первой прикладной программой и второй прикладной программой не требуется специальных отношений, как и не требуется специальный протокол и интерфейс.
[0075] Используя способ выполнения прикладной программы согласно варианту осуществления, посредством управления пакетами установки различных версий второй прикладной программы в первой прикладной программе, можно динамически обновлять вторую прикладную программу, без участия пользователя, тем самым экономя усилия на операции и изучение процесса пользователем.
[0076] В фактическом варианте осуществления пользователем А является пожилой человек, который должен потрать много усилий на обучение использованию смартфона с операционной системой Android или вообще не может работать со смартфоном. Посредством способа запуска прикладной программы, представленным выше в вариантах осуществления, добавление и удаление интерфейса второй прикладной программы может осуществляться первой прикладной программой в смартфоне. Пользователю А необходимо только добавить или удалить вторую прикладную программу в пользовательском интерфейсе первой прикладной программы. В случае необходимости использования второй прикладной программы, она может быть открыта в первой прикладной программе для непосредственного использования, без установки второй прикладной программы. Кроме того, первая прикладная программа автоматически обновляет пакет установки второй прикладной программы до последней версии в фоновом режиме. В целом, пользователю А необходимо только знать, как добавлять, удалять и открывать вторую прикладную программу, что сокращает усилия на изучение для пользователя А и позволяет избежать сложных операций, таких как установка второй прикладной программы и обновление второй прикладной программы; таким образом, значительно упрощается работа пользователя и улучшается эффективность обслуживания второй прикладной программы.
[0077] Ниже показано устройство для варианта осуществления настоящего изобретения, которое может быть использовано для выполнения способа варианта осуществления, согласно настоящему изобретению. Подробности, не указанные в описании устройства для варианта осуществления настоящего изобретения, могут быть отнесены к варианту способа осуществления настоящего изобретения.
[0078] Фиг. 5 представляет собой структурную схему устройства для выполнения прикладной программы в соответствии с примерным вариантом осуществления; Устройство для запуска прикладной программы может быть сконфигурировано как целый мобильный терминал или часть мобильного терминала с помощью программного обеспечения, аппаратных средств или их комбинации, и мобильный терминал может быть мобильным терминалом с запущенной операционной системой Android. Устройство для запуска прикладной программы включает в себя: модуль приема сигнала 520, модуль анализа пакета установки 540 и модуль выполнения приложения 560.
[0079] Модуль получения сигнала 520 настроен на получение сигнала запуска, указывающего на выполнение второй прикладной программы в запущенной первой прикладной программе.
[0080] Модуль анализа пакета установки 562 настроен на загрузку и анализ первой прикладной программой пакета установки второй прикладной программы, для получения программного компонента второй прикладной программы.
[0081] Модуль выполнения программы 560 настроен на выполнение программного компонента второй прикладной программы в среде выполнения, представленной первой прикладной программой.
[0082] В заключение, посредством устройства запуска прикладной программы, согласно варианту осуществления, путем загрузки и анализа пакета установки второй прикладной программы в запущенной первой прикладной программе происходит получение программного компонента второй прикладной программы, и программный компонент второй прикладной программы выполняется в среде выполнения, представленной первой прикладной программой, чем решается проблема того, что прикладная программа может быть использована только если установлен соответствующий пакет установки, и достигается эффект того, что вторая прикладная программа может работать в среде выполнения, представленной первой прикладной программой, без установки второй прикладной программы.
[0083] Фиг. 6 представляет собой структурную схему устройства выполнения прикладной программы в соответствии с другим примерным вариантом осуществления. Устройство для запуска прикладной программы может быть сконфигурировано как целый мобильный терминал или часть мобильного терминала с помощью программного обеспечения, аппаратных средств или их комбинации, и мобильный терминал может быть мобильным терминалом с запущенной операционной системой Android. Устройство для запуска прикладной программы включает в себя: модуль приема сигнала 520, модуль анализа пакета установки 540 и модуль выполнения приложения 560.
[0084] Модуль получения сигнала 520 настроен на получение сигнала запуска, указывающего на выполнение второй прикладной программы в запущенной первой прикладной программе.
[0085] Модуль анализа пакета установки 562 настроен на загрузку и анализ первой прикладной программой пакета установки второй прикладной программы, для получения программного компонента второй прикладной программы.
[0086] Модуль выполнения программы 560 настроен на выполнение программного компонента второй прикладной программы в среде выполнения, представленной первой прикладной программой.
[0087] В качестве альтернативы, модуль выполнения программы 560 включает в себя: субмодуль определения компонентов 562, субмодуль запуска тестовой среды 564 и субмодуль выполнения компонентов 566.
[0088] Субмодуль определения компонентов 562 настроен на определение первой прикладной программой программного компонента запускаемой второй прикладной программы.
[0089] Субмодуль запуска тестовой среды 564 настроен на запуск первой прикладной программой тестового программного компонента, соответствующего программному компоненту.
[0090] Субмодуль выполнения компонентов 566 настроен на запуск программного компонента в контексте выполнения, представленном тестовым программным компонентом в первой прикладной программе.
[0091] В качестве альтернативы, субмодуль выполнения компонентов 562 включает в себя: субмодуль вызова и субмодуль выполнения.
[0092] Субмодуль вызова настроен на вызов программного компонента тестовым программным компонентом в первой прикладной программе посредством механизма отражения.
[0093] Субмодуль выполнения настроен на выполнение вызванного программного компонента в контексте выполнения, представленном тестовым программным компонентом в первой прикладной программе.
[0094] В качестве альтернативы, модуль анализа пакета установки 540 включает в себя: субмодуль анализа файлов 542 и субмодуль анализа компонентов 544.
[0095] Субмодуль анализа файлов 542 настроен на загрузку и анализ первой прикладной программой пакета установки второй прикладной программы, для получения конфигурационного файла второй прикладной программы.
[0096] Субмодуль анализа компонентов 544 настроен на получение первой прикладной программой, по меньшей мере, одного программного компонента во второй прикладной программе, в соответствии с конфигурационным файлом, причем программный компонент включает, по меньшей мере, один из следующих компонентов: активный компонент, компонент службы, компонент поставщика содержания и компонент широковещательного приемника.
[0097] В качестве альтернативы, устройство дополнительно включает модуль регистрации сообщений 530, настроенный на регистрацию первой прикладной программой типа Intent-сообщения в операционной системе, в соответствии с конфигурационным файлом, в котором Intent-сообщение контролируется каждым программным компонентом во второй прикладной программе.
[0098] В качестве альтернативы, субмодуль определения компонентов 562 включает в себя: первый определяющий субмодуль, субмодуль приема сообщений и второй определяющий субмодуль.
[0099] Первый определяющий субмодуль настроен на получение первой прикладной программой компонента выполнения по умолчанию, переданного обратно второй прикладной программой, и определение компонента выполнения по умолчанию в качестве программного компонента для запуска, во время запуска второй прикладной программы.
[00100] Субмодуль приема сообщений настроен на получение первой прикладной программой Intent-сообщения, передаваемого операционной системой, причем Intent-сообщение согласуется с типом зарегистрированного Intent-сообщения.
[00101] Второй определяющий субмодуль настроен на определение программного компонента, настроенного на отслеживание Intent-сообщения, в качестве программного компонента для запуска, если во второй прикладной программе не был запущен программный компонент, настроенный на отслеживание Intent-сообщения.
[00102] В качестве альтернативы, устройство дополнительно включает: первый модуль передачи 552, настроенный на получение первой прикладной программой Intent-сообщения, переданного операционной системой, причем Intent-сообщение согласуется с типом Intent-сообщения, зарегистрированным в операционной системе, и передачу Intent-сообщения в программный компонент для обработки, если во второй прикладной программе запущен программный компонент, настроенный на отслеживание Intent-сообщения; и/или
второй модуль передачи 554, настроенный на получение первой прикладной программой Intent-сообщения для отправки одним программным компонентом во второй прикладной программе, и передачу Intent-сообщения в операционную систему.
[00103] В качестве альтернативы, устройство дополнительно включает: модуль управления пакетом установки 570, настроенный на выполнение первой прикладной программы операции управления для пакетов установки разных версий второй прикладной программы, причем операция управления содержит, по меньшей мере, одну из операций: операция загрузки, операция обновления и операция удаления.
[00104] В заключение, посредством устройства запуска прикладной программы, согласно варианту осуществления, путем загрузки и анализа пакета установки второй прикладной программы в запущенной первой прикладной программе происходит получение программного компонента второй прикладной программы, и программный компонент второй прикладной программы выполняется в среде выполнения, представленной первой прикладной программой, чем решается проблема того, что прикладная программа может быть использована только если установлен соответствующий пакет установки, и достигается эффект того, что вторая прикладная программа может работать в среде выполнения, представленной первой прикладной программой, без установки второй прикладной программы.
[00105] С помощью устройства для запуска прикладной программы в соответствии с вариантом осуществления, путем предоставления контекста выполнения соответствующего программного компонента во второй прикладной программе тестовым программным компонентом в первой прикладной программе, вторая прикладная программа может быть запущена в контексте выполнения, предоставленном первой прикладной программой, при условии, что вторая прикладная программа соответствует стандарту приложений операционной системы Android. Между первой прикладной программой и второй прикладной программой не требуется специальных отношений, как и не требуется специальный протокол и интерфейс.
[00106] Используя устройство выполнения прикладной программы согласно варианту осуществления, посредством управления пакетами установки различных версий второй прикладной программы в первой прикладной программе, можно динамически обновлять вторую прикладную программу, без участия пользователя, тем самым экономя усилия на операции и изучение процесса пользователем.
[00107] Что касается устройств в вышеописанных вариантах осуществления, конкретные способы выполнения операций для отдельных модулей были подробно описаны в вариантах осуществления, относящихся к способам выполнения прикладной программы, которые не описываются в данном документе.
[00108] ФИГ. 7 представляет собой структурную схему устройства 700 для выполнения прикладной программы в соответствии с примерным вариантом осуществления. Например, устройство 700 может быть мобильным телефоном, телевизором, компьютером, цифровым широковещательным терминалом, устройством отправки сообщений, игровой консолью, планшетом, медицинским устройством, тренажером, персональным цифровым помощником и т.п.
[00109] Как показано на Фиг. 7, устройство 700 может включать в себя один или несколько следующих компонентов: компонент обработки 702, память 704, компонент питания 706, компонент мультимедиа 708, компонент аудио 710, интерфейс ввода/вывода (I/O) 712, компонент сенсора 714 и компонент связи 716.
[00110] Компонент обработки 702 обычно управляет всеми операциями устройства 700, например операциями, связанными с дисплеем, телефонными звонками, передачей данных, работой камеры и записи. Компонент обработки 702 может включать в себя один или несколько процессоров 720 для выполнения инструкций, связанных со всеми или некоторыми этапами вышеописанных способов. Кроме того, компонент обработки 702 может включать в себя один или несколько модулей, которые облегчают взаимодействие между компонентом обработки 702 и другими компонентами. Например, компонент обработки 702 может включать в себя мультимедийный модуль для облегчения взаимодействия между компонентом мультимедиа 708 и компонентом обработки 702.
[00111] Память 704 сконфигурирована для хранения различных типов данных для поддержки работы устройства 700. Примеры таких данных включают в себя инструкции для любых типов применения или способов эксплуатации устройства 700, контактные данные, данные телефонной книги, сообщения, фотографии, видео и т.д. Память 704 может быть реализована с использованием любого типа энергозависимых или энергонезависимых запоминающих устройств, или их комбинации, например, статического оперативного запоминающего устройства (SRAM), электрически стираемого программируемого ПЗУ (EEPROM), стираемого программируемого ПЗУ (EPROM), программируемого ПЗУ (PROM), ПЗУ (ROM), магнитной памяти, флэш-памяти, магнитного или оптического диска.
[00112] Компонент питания 706 обеспечивает питание различным компонентам устройства 700. Компонент питания 706 может включать в себя систему управления электропитанием, один или более источников питания, а также любые другие компоненты, связанные с производством, управлением и распределением электроэнергии в устройстве 700.
[00113] Компонент мультимедиа 708 включает в себя экран, обеспечивающий выходной интерфейс между устройством 700 и пользователем. В некоторых вариантах осуществления экран может включать в себя жидкокристаллический дисплей (LCD) и сенсорную панель (TP). Если экран включает в себя сенсорную панель, экран может быть выполнен в виде сенсорного экрана для получения входных сигналов от пользователя. Сенсорная панель включает в себя один или несколько сенсорных датчиков для определения прикосновений и жестов на сенсорной панели. Сенсорные датчики могут определять не только границу прикосновения или движения пальца, но также и продолжительность и давление, связанные с прикосновением или движением. В некоторых вариантах осуществления компонент мультимедиа 708 включает переднюю и/или заднюю камеры. Передняя и задняя камера могут получать внешние мультимедийные данные, когда устройство 700 находится в режиме работы, например в режиме фотографирования или в режиме видео. Каждая из камер может представлять собой систему фиксированных оптических линз или иметь фокус и возможность оптического увеличения.
[00114] Компонент аудио 710 сконфигурирован для вывода и/или ввода звуковых сигналов. Например, компонент аудио 710 включает в себя микрофон («MIC»), сконфигурированный для приема внешнего аудио сигнала, когда устройство 700 находится в режиме работы, например в режиме вызова, режиме записи и в режиме распознавания голоса. Принятый аудиосигнал может в дальнейшем сохраняться в памяти 704 или передаваться с помощью компонента связи 716. В некоторых вариантах осуществления компонент аудио 710 дополнительно включает в себя динамик для вывода аудио сигналов.
[00115] Интерфейс ввода/вывода 712 обеспечивает интерфейс между компонентом обработки 702 и модулями интерфейса периферийных устройств, таких как клавиатура, колесо управления, кнопки и тому подобное. Кнопки могут включать в себя, помимо прочего, кнопку «домой», кнопку громкости, кнопку пуска и кнопку блокировки.
[00116] Компонент датчика 714 включает в себя один или несколько датчиков для оценки состояния различных аспектов устройства 700. Например, компонент датчика 714 может обнаружить открытое/закрытое состояние устройства 700, относительное положение компонентов (например, дисплея и клавиатуры) устройства 700, изменение положения устройства 700 или компонента устройства 700, наличие или отсутствие контакта пользователя с устройством 700, ориентацию или ускорение/замедление устройства 700 и изменение температуры устройства 700. Компонент датчика 714 может включать в себя бесконтактный датчик, сконфигурированный для обнаружения присутствия близлежащих объектов без физического контакта. Компонент датчика 714 может также включать в себя датчик света, такой как датчик изображения CMOS или CCD, для использования в получении изображений. В некоторых вариантах осуществления компонент датчика 714 может также включать в себя акселерометр, гиродатчик, магнитный датчик, датчик давления или датчик температуры.
[00117] Компонент связи 716 сконфигурирован для обеспечения проводной или беспроводной связи между устройством 700 и другими устройствами. Устройство 700 может получить доступ к беспроводной сети на основе стандарта связи, такого как WiFi, 2G, 3G или их комбинации. В одном примерном варианте осуществления компонент связи 716 принимает широковещательный сигнал или трансляцию связанной информации от внешней системы управления вещанием по широковещательному каналу. В одном примерном варианте осуществления компонент связи 716 дополнительно включает в себя модуль связи малого радиуса действия (NFC) для обеспечения связи ближнего радиуса действия. Например, модуль NFC может быть реализован на основе технологии радиочастотной идентификации (RFID), технологии ассоциации инфракрасной передачи данных (IrDA), технологии ультраширокополосного вещания (UWB), технологии Bluetooth (ВТ) и других технологий.
[00118] В примерных вариантах осуществления устройство 700 может быть реализовано с одной или несколькими специализированными интегральными схемами (ASIC), цифровыми процессорами сигналов (DSP), устройствами цифровой обработки сигналов (DSPD), программируемыми логическими устройствами (PLD), программируемыми вентильными матрицами (FPGA), контроллерами, микроконтроллерами, микропроцессорами или другими электронными компонентами, для реализации описанных выше способов.
[00119] В примерных вариантах осуществления предусмотрен также энергонезависимый машиночитаемый носитель данных с инструкциями, такими как в памяти 704, выполняемыми процессором 720 устройства 700 для реализации описанных выше способов. Например, энергонезависимый машиночитаемый носитель данных может представлять собой ПЗУ, ОЗУ, CD-ROM, магнитную ленту, гибкий диск, оптическое устройство хранения данных и тому подобное.
[00120] Предусматривается энергонезависимый машиночитаемый носитель данных, и когда инструкции на носителе выполняются процессором устройства 700, устройство 700 может реализовать способ выполнения прикладной программы, предоставленный в варианте осуществления на Фиг. 1 или 3.
[00121] Другие варианты осуществления изобретения будут очевидны для специалистов в данной области при рассмотрении описания и изучении изобретения. Предполагается, что эта заявка охватывает любые изменения, варианты применения или адаптацию изобретения согласно изложенным общим принципам и включая такие отклонения от настоящего изобретения, которые известны или являются обычной практикой в данной области. Предполагается, что описание и примеры будут рассматриваться только в качестве примера, с истинной сущностью и объемом изобретения, указанным в прилагаемой формуле изобретения.
[00122] Следует понимать, что настоящее изобретение не ограничивается точной конструкцией, описанной выше и проиллюстрированной на сопроводительных чертежах, и что различные модификации и изменения могут быть сделаны без отступления от объема изобретения. Предполагается, что объем изобретения ограничивается только прилагаемой формулой изобретения.