Open Source & Linux Lab

It's better when it's simple

User Tools

Site Tools


etc:common_activities:maemo:maemo4_maemo5

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
etc:common_activities:maemo:maemo4_maemo5 [2009/11/09 18:53] ivan_bezyazychnyyetc:common_activities:maemo:maemo4_maemo5 [2009/11/17 19:55] (current) regina
Line 10: Line 10:
 Изменения на примере почтового клиента: Изменения на примере почтового клиента:
 http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Porting_Software/Redesigning_From_Maemo_4_to_Maemo_5#Re-design_of_Modest_email http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Porting_Software/Redesigning_From_Maemo_4_to_Maemo_5#Re-design_of_Modest_email
 +
  
  
 ====== Maemo 5 с точки зрения разработчика ====== ====== Maemo 5 с точки зрения разработчика ======
 +
 +{{etc:common_activities:maemo:800px-top_level_architecture.png|}}
 +
 +
 +
 +
 +
 +
 +
 +
 Рассматривается интерфейс и модули определения географического положения Рассматривается интерфейс и модули определения географического положения
 +
 +
 +
 +
  
 ===== Основные компоненты графического интерфейса пользователя ===== ===== Основные компоненты графического интерфейса пользователя =====
-Сюда входят:library, XlibGlibGDKGDKPangoATKGTK+, Hildon. Коротко о них. + 
-http://wiki.maemo.org/Legacy_Maemo_5_Documentation/Graphical_UI_Tutorial/Introduction+ 
 +The Fremantle UI Framework consists of the Clutter OpenGL-based canvas library, OpenGL drivers for the PowerVR SGX chipMatchbox Window Manager 1 (for startup sequence) and Matchbox Window Manager 2 libraryHildon Welcome (“Nokia hands”) screenStartup Wizardapplication framework startup scriptsgame startup systemHildon Control Panel, some Control Panel applets, Restore original settings & Clear user data framework, Hildon Input Methods, internationalisation i.e. so-called POSIX data, Clipboard Manager, Hildon Desktop, notification service, Hildon Home (applet loader), Hildon Status Menu/Area (plugin loader), and Status Menu USB plugin. 
 + 
 +Основные подсистемы пользовательского интерфейса 
 + 
 +hildon-desktop -        OpenGL graphics API  
 + 
 +hildon-home -        Home widget API and loading, notification service and plugins,       background image and loading  
 + 
 +hildon-status-menu - X clipboard selection management  
 + 
 +Hildon Input Method - Localized text input UI  
 + 
 +Control Panel     -    Control Panel applet and loading  
 + 
 +Startup Wizard        first boot and system time setting  
 + 
 +Startup scripts     -     AF startup scripts  
 + 
 +RFS and CUD framework - Reset factory settings and clear user data 
 + 
  
  
Line 23: Line 59:
  
 ===== Hildon - изменения в Maemo5 ===== ===== Hildon - изменения в Maemo5 =====
 +Navigation architecture
 +
 +{{etc:common_activities:maemo:navigation.png|}}
 +
 +Task launcher - меню, с помощью которого пользователь может получить доступ к запуску нового приложения или выдвинуть запущенное приложение на вершину.
 +Task switcher - это вид для переключения между запущенными приложениями.  
 +
 +Вид рабочего стола при отображении окна приложений:
 +
 +{{etc:common_activities:maemo:desktop_overview.png|}}
 +
 +A-Кнопка переключения задач. Нажатие на нее приводит к переходу приложения в фоновый режим и отображению доступных для выбора других запущенных приложений.
 +B- Кнопка статуса области. Предоставляет информацию о статусе устройства или приложения.
 +C- Кнопка для закрытия приложений. При этом, если текущее окно приложения является подвидом, то вместо кнопки "закрыть" отображается кнопка "назад". И кнопка назад закрывает окно, не закрывая приложения, а возвращая к предыдущему виду.
 +D- Название области. Показывает идентификатор текущей задачи, обычно имя текущей задачи.
 +F- Область приложения.
 +
 +При работе приложения в полноэкранном режиме используется только область приложения. Если приложение имеет панель виджетов, то она она отображается в самой нижней части области приложения, как в нормальном, так и в полноэкранном режиме.
 +
 +
 +
 Анализ на основе таблицы  Анализ на основе таблицы 
 [[http://repository.maemo.org/stable/fremantle/4.1.2_vs_5.0_content_comparison.html]] [[http://repository.maemo.org/stable/fremantle/4.1.2_vs_5.0_content_comparison.html]]
Line 29: Line 86:
 ===== GTK - изменения в Maemo5 ===== ===== GTK - изменения в Maemo5 =====
 На основе таблицы http://repository.maemo.org/stable/fremantle/4.1.2_vs_5.0_content_comparison.html На основе таблицы http://repository.maemo.org/stable/fremantle/4.1.2_vs_5.0_content_comparison.html
 +
  
  
  
 ===== Qt ===== ===== Qt =====
 +
 +
 +Основные особенности выпущенной версии Qt для N900 (Maemo 5):
 +
 +    * Полная интеграция внешнего вида и поведения приложений в окружении Maemo, при помощи специально подготовленного стиля "Hildonized";
 +
 +    * Поддержка аппаратной акселерации выполнения графических операций, через задействование OpenGL ES 2;
 +
 +    * Поддержка методов ввода через экранную клавиатуру и встроенную миниатюрную физическую клавиатуру;
 +
 +    * Интеграция с глобальным меню, класс QMenuBar связан с глобальным меню Maemo;
 +
 +    * Поддержка режимов Online/offline в libQtNetwork;
 +
 +    * Поддержка стандартных диалогов интерфейса Maemo (например, диалог открытия файла);
 +
 +    * Поддержка виджетов Maemo;
 +
 +    * Возможность вывода мультимедиа данных через Phonon. 
 +
 +
  
 {{etc:common_activities:maemo:qt.jpg|}} {{etc:common_activities:maemo:qt.jpg|}}
 +
 +
 http://doc.trolltech.com/4.5/index.html http://doc.trolltech.com/4.5/index.html
 +
 +
 +http://labs.trolltech.com/blogs/2009/10/09/qt-on-the-n900/
  
 ==== Пакет qt4-x11 ==== ==== Пакет qt4-x11 ====
Line 120: Line 204:
  
 === Location daemon === === Location daemon ===
 +
 +
 +
 +
  
  
Line 159: Line 247:
   * Сигнал "gpsd-running"   * Сигнал "gpsd-running"
   * Сигнал "gpsd-stopped"   * Сигнал "gpsd-stopped"
 +
 +Более подробно в [[http://maemo.org/api_refs/5.0/5.0-final/liblocation/LocationGPSDControl.html|liblocation Reference Manual]]
  
 === Методы определения географического положения === === Методы определения географического положения ===
Line 165: Line 255:
   * LOCATION_METHOD_ACWP - Assisted Complementary Wireless Positioning: в определении географического положения участвует базовая сотовая станция, на которой зарегистрировано устройство. Для метода ACWP необходима SIM карта и сотовая сеть. Если сотовая сеть недоступна, то метод работает аналогично CWP. Приложение может определить MCC (мобильный код страны) прежде чем получит информацию о сотовой станции с внешнего сервера географического положения или если сеть недоступна.   * LOCATION_METHOD_ACWP - Assisted Complementary Wireless Positioning: в определении географического положения участвует базовая сотовая станция, на которой зарегистрировано устройство. Для метода ACWP необходима SIM карта и сотовая сеть. Если сотовая сеть недоступна, то метод работает аналогично CWP. Приложение может определить MCC (мобильный код страны) прежде чем получит информацию о сотовой станции с внешнего сервера географического положения или если сеть недоступна.
   * LOCATION_METHOD_GNSS - Global Navigation Satellite System: Метод использует GPS приемник. Как правило время первого определения положения значительно дольше, чем при использовании метода AGNSS. Ни SIM карта, ни сотовая сеть не нужны для этого метода. Данный метод может быть также использован в режиме «offline».    * LOCATION_METHOD_GNSS - Global Navigation Satellite System: Метод использует GPS приемник. Как правило время первого определения положения значительно дольше, чем при использовании метода AGNSS. Ни SIM карта, ни сотовая сеть не нужны для этого метода. Данный метод может быть также использован в режиме «offline». 
-  * LOCATION_METHOD_AGNSS - Assisted Global Navigation Satellite System Метод использует GPS приемник с вспомогательной информацией от внешнего сервера географического положения. Для данного метода необходимы SIM карта и сотовая сеть. Если сотовая сеть или SIM карта недоступны, то метода эквивалентен методу GNSSA. +  * LOCATION_METHOD_AGNSS - Assisted Global Navigation Satellite System Метод использует GPS приемник с вспомогательной информацией от внешнего сервера географического положения. Для данного метода необходимы SIM карта и сотовая сеть. Если сотовая сеть или SIM карта недоступны, то метод эквивалентен методу GNSSA.  
 +Пример выбора метода: 
 +<code> 
 +g_object_set(G_OBJECT(control), "preferred-method", LOCATION_METHOD_GNSS | LOCATION_METHOD_AGNSS, NULL); 
 +</code>
  
 === Интервалы определения географического положения === === Интервалы определения географического положения ===
 +Интервал между последующими определениями координат может равняться 1, 2, 5, 10, 20, 30, 60 и 120 секундам. В реальности интервал может значительно отличаться для обеспечения производительности и в целях экономии энергии, он зависит от множества факторов (например частота проверки приложением изменения координат). Если несколько приложений установили различные интервалы, то выбирается наименьший. 
 +Пример задания интервала: 
 +<code> 
 +g_object_set(G_OBJECT(control), "preferred-interval", LOCATION_INTERVAL_60S, NULL); 
 +</code>
  
 ===  Объект LocationGPSDevice === ===  Объект LocationGPSDevice ===
Line 174: Line 272:
 LocaionGPSDevice — объект типа GObject, содержащий информацию о состоянии устройства и о текущем местоположении, если оно определено. LocaionGPSDevice — объект типа GObject, содержащий информацию о состоянии устройства и о текущем местоположении, если оно определено.
  
 +Объект может принимать сигнал «changed», который производится каждый раз, когда приходит сообщение об изменении координат.
 +
 +Более подробно в [[http://maemo.org/api_refs/5.0/5.0-final/liblocation/LocationGPSDevice.html|liblocation Reference Manual]]
  
 === Пример работы с liblocation в Maemo. === === Пример работы с liblocation в Maemo. ===
etc/common_activities/maemo/maemo4_maemo5.1257782003.txt.gz · Last modified: 2009/11/09 18:53 by ivan_bezyazychnyy