Иконка приложения - это первое с чем сталкивается пользователь после инсталляции. Безусловно, она играет очень важную роль в формировании отношения к программе. Иконка, как и многие другие параметры приложения, определяется в информационном файле AIF. В этом файле определяются следующие свойства:

  • Иконка приложения
  • Должно ли приложение отображаться в системной оболочке?
  • Имеет ли оно собственный MIME тип.
  • Могут ли в системной оболочке создаваться новые документы для приложения
  • Является ли приложение встраиваемым.

AIF файл можно задать в mmp файле проекта:

aif MyGame.aif \MyGame\aif\ MyGameAif.rss c8 Icon1.bmp Icon1Mask.bmp

Расшифруем синтаксис:

aif<aif файл="" приложения=""><расположение aif файла><aif ресурсы="">
<палитра иконки>
<иконка1><маска для иконки1>
<иконка2><маска для иконки2></aif></aif>

Приложение может иметь несколько иконок с различным видом и размером. В качестве иконки для системной оболочки выбирается наиболее подходящая по размеру. Обычно иконки имеют размер 44x44 и 8-битную палитру. Вы также можете включить в приложение дополнительные иконки, которые будут отображаться, например, на панели состояния (если она отображается) запущенного приложения. Файл ресурсов (*.rss) для aif определяет параметры приложения:

#include <aiftool.rh>
RESOURCE AIF_DATA
{
// UID приложения
app_uid=0x1000ABCD;
// Заголовок приложения на каждом языке
caption_list=
{
CAPTION
{
code= ElangEnglish;
caption= “MyGame”;
}
};
// Тип данных, ассоциирующийся с приложением
datatype_list=
{
DATATYPE
{
priority= EdataTypePriorityHigh;
type= “application/x-NokiaGame-Data-12345678;
}
};
// Число иконок в AIF файле (не считая масок; каждая
// иконка должна иметь маску)
num_icons=1;
// Свойства
embeddability= KappNotEmbeddable;
hidden= KappNotHidden;
newfile= KappDoesNotSupportNewFile;
}</aiftool.rh>


Если приложение содержит aif, не забудьте включить сгенерированный файл в sis пакет. Обратите также внимание, что если UID в AIF файле не соответствует UID приложения, это не вызовет сообщения об ошибке, однако после установки приложения его иконка не будет отображаться.

Файл инсталляции

Pkg файл определяет содержание пакета инсталляции (sis). Он содержит UID приложения, список поддерживаемых языков, UID целевого продукта и список файлов, входящих в sis пакет:

; MyGame.pkg
; Определяет файл инсталляции для MyGame
;Язык
&amp;EN
;Заголовок
#{“MyGame”},(0x1000ABCD),1,0,0
;Требуемая линейка Series60 устройств. Определяется UID
;целевого продукта.
(0x101F6F88),0,0,0,{“Series60ProductID”}
“\epoc32\release\thumb\urel\MyGame.app”-!:\
system\apps\MyGame\MyGame.app”
“\epoc32\release\thumb\urel\MyGame.rsc”-!:\
system\apps\MyGame\MyGame.rsc”
“\epoc32\release\thumb\urel\MyGame.mbm”-!:\
system\apps\MyGame\MyGame.mbm”
“\epoc32\release\thumb\urel\MyGame.aif”-!:\
system\apps\MyGame\MyGame.aif”
“..\MyGame\MyGameSample.wav”-!:\system\apps\MyGame\MyGameSample.wav”
 

 UID продукта определяет требуемую для приложения среду. Приложение не будет инсталлироваться на устройства с неподходящей средой. Большинство версий Series 60 Platform обратно совместимы между собой. Это значит, что программа, написанная для Series 60 Platform 1.2, запустится и на Series 60 Platform 2.0 устройстве. В следующей таблице приведены UID самых распространенных Series 60 устройств:

Nokia 76500x101F6F87
Nokia 36500x101F7962
Nokia 9210 and 92900x10005E33
Nokia N-Gage™ Mobile Game Deck0x101F8A64
Siemens SX10x101F9071
Series 60 Platform v0.90x101F6F88
Series 60 Platform v1.00x101F795F
Series 60 Platform v1.10x101F8201
Series 60 Platform v1.20x101F8202
Series 60 Platform v2.00x101f7960

Вы можете управлять процессом инсталляции в зависимости от устройства. Например, для разных устройств Вы можете установить различные версии файлов. Это можно сделать, настроив pkg файл:

;
; Файл для инсталляции
;
IF MachineUID=0x101fb3dd
; Для Nokia 6600
“..\MyFiles\FileFor6600.dat”-“!:\system\apps\MyGame\MyData.dat”
ELSEIF MachineUID=0x101f466a
;Для Nokia 3650
“..\MyFiles\FileFor3650.dat”-“!:\system\apps\MyGame\MyData.dat”
ELSE
; Для других устройств
“..\MyFiles\FileForOthers.dat”-“!:\system\apps\MyGame\MyData.dat”
ENDIF 

Таким образом, Вы легко можете создать один инсталляционный файл для нескольких устройств. Помимо MachineUID существует множество различных атрибутов, например MemoryRAM и CPU. Заметьте, что Machine UID это не то же самое, что Product UID. Ниже приведены некоторые Machine UID.


Nokia 76500x101F4FC3
Nokia 36500x101F466A
Nokia 66000x101FB3DD
Nokia 9210 and 92900x10005E33
Nokia N-Gage™ Mobile Game Deck0x101F8C19
Win32 Emulator0x10005F62 (см. epoc32\include\hal_data.h)

Используя следующий код, чтобы узнать machine uid устройства


#include // добавим связь с hal.lib
TInt machineUid = 0;
HAL::Get(HALData::EmachineUid, machineUid);

Приведенный выше код Вы можете использовать, чтобы создать инсталлятор для конкретных устройств.

Перевод:aRix




Наши соцсети

Подписаться Facebook Подписаться Вконтакте Подписаться Twitter Подписаться Google Подписаться Telegram

Популярное

Ссылки

Новости [1] [2] [3]... Android/ iOS/ J2ME[1] [2] [3]) Android / Архив

Рейтинг@Mail.ru Яндекс.Метрика
MobiLab.ru © 2005-2018
При использовании материалов сайта ссылка на www.mobilab.ru обязательна