AIF(程式信息檔案)

本詞條是多義詞,共3個義項
更多義項 ▼ 收起列表 ▲

應用程式信息檔案,其擴展名為.aif檔案,用來存儲與應用程式相關的數據

基本介紹

  • 中文名:AIF
  • 類型:程式信息檔案
  • 生成方式:GUI工具
  • 作用:嵌入, 隱藏等
概述
應用程式信息檔案,其擴展名為.aif檔案,用來存儲與應用程式相關的數據,這裡的信息包括應用程式的:
各種尺寸的icon
所支持語言的標題
拓展性,如嵌入, 隱藏等
MIME-type支持屬性
aif檔案可以用如下幾種方法來生成:
通過GUI工具AIF Builder
通過手寫一個Aiftool資源檔案。
如果你要手寫一個Aiftool資源檔案:
如果你使用的是C++,你應該指明在abld處理Aiftool的處理,我們可以將AIF關鍵字安插在你的.mmp檔案中,如下:
AIF DDBouncingBall.aif ..\Aif DDBouncingBallAif.rss \
c12 DDBouncingBallIcon.bmp DDBouncingBallIcon_mask.bmp DDBouncingBallIcon_42x22.bmp DDBouncingBallIcon_42x22_mask.bmp
執行命令行Aiftool工具以生成aif檔案
我們使用C++reader和writer類來管理存儲在aif檔案中的數據(其中wirter類是很少使用的)。程式可以在沒有aif檔案的狀況下運行,在這種情況,一個預設的圖示被使用——一般是一個問號(依小糊塗看不然,預設的在s60至少不是問號,而是個拼圖狀的東東:);不支持MIMI類型;不支持embedding;不支持新檔案的產生;預設的標題就是它執行檔的名字,不過沒有擴展名。
如何構建一個AIF
概述下面的列子演示了怎么去生成一個應用程式信息檔案,你必須:
生成一個資源定義檔案(rss檔案)這個檔案中包含了一個結構,裡面定義了應用程式的UID,標題,圖示的數目,capabilities,以及MIME類型支持級別。
生成一個image和mask bitmap以便在shell中標識該程式。
生成資源定義檔案
最容易的方法就是拷貝一個現成的資源檔案來修改修改,主要是標題,UID,以及圖示的數目。大家可以看下面的列子:
#include <aiftool.rh>
RESOURCE AIF_DATA
{
// uid
app_uid=0x10004299;
// captions
caption_list=
{
CAPTION { code=ELangEnglish; caption="Hello"; },
CAPTION { code=ELangFrench; caption="Bonjour"; }
};
// icons
num_icons=2;
// capabilities
embeddability= KAppEmbeddable;
hidden=KAppNotHidden;
newfile= KAppSupportsNewFile;
// MIME types
datatype_list=
{
DATATYPE { priority=EDataTypePriorityNormal; type="text/html"; },
DATATYPE { priority=EDataTypePriorityLow; type="text/plain"; }
}
the include file 這裡aiftool.rh資源頭檔案應該放置在每個資源定義檔案的頂部,這個檔案定義了aif檔案的結構,包括所有支持的語言以及默認的aif檔案
capabilites。
include <aiftool.rh>
這個aiftool資源頭檔案存放在標準的c++包含目錄:\Epoc32\Include\
UID 這裡的UID(0x10004299)是用來標識程式的唯一性數字,同樣的UID也定義在工程檔案中(mmp)。開發者可以從symbian developer network website獲得未使用的UIDs
Captions 標題是和圖示一起顯示在shell中的,下面標識標題為英文和法文都準備了:
caption_list=
{
CAPTION { code=ELangEnglish; caption="Hello"; },
CAPTION { code=ELangFrench; caption="Bonjour"; }
};Icons 資源定義檔案還指明了本程式所使用的圖示數目,每個圖示都是由一個icon bitmap和一個mask所組成的,在這個列子裡,有2個圖示,因此圖示檔案將包含4個bitmaps(關於mask,前面已經講的很清楚了:) num_icons=2;
Capabilities Capabilities用來表示應用程式是embeddable,not hidden, 以及是否允許從system shell中產生新的文檔。
MIME Types datatype_list語句塊表明該應用程式是和HTML以及plain text files相聯的。
如何編譯AIF檔案
概述當你已經產生了一個適當的資源檔案和點陣圖後,你必須將這些都編譯在一個單獨的二進制aif檔案中,你可以用如下兩個方法:
使用abld來編譯 .
使用命令行工具aiftool和bmconv .
使用abld進行編譯
使用abld工具編譯時,我們需要在mmp工程檔案中使用aif語句塊,它應該列出目標檔案和源檔案的路徑名,以及bitmaps檔案,如
aif hello.aif helloaif.rss icon1.bmp iconmask1.bmp icon2.bmp iconmask2.bmp
指明要在應用程式目錄中編譯成hello.aif,它是從源檔案helloaif.rss中,以及icon1.bmp已經icon2.bmp和他們的相關的mask。注意這裡mask bitmap必須緊跟在相關的icon後面。
在工程進行abld操作時才進行aif檔案的編譯,abld會調用低層的aiftool和bmconv來編譯aif檔案。這些工具也可以直接使用。
使用aiftool及bmconv編譯
點陣圖必須要轉化為一個單獨的multi-bitmap(.mbm)檔案,這使用的是bitmap轉換工具bmconv,你需要提供一個bitmap列表給bmconv,注意mask也是必須的。
生成aif檔案
Aiftool將編譯資源定義檔案,這要和mbm檔案一起,在aif檔案中,如:
aiftool hello hello.mbm
這裡使用hello.rss和hello.mbm,然後產生hello.aif。

相關詞條

熱門詞條

聯絡我們