brew資源文件的使用-文檔資料_第1頁(yè)
brew資源文件的使用-文檔資料_第2頁(yè)
brew資源文件的使用-文檔資料_第3頁(yè)
brew資源文件的使用-文檔資料_第4頁(yè)
brew資源文件的使用-文檔資料_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、1計(jì)算機(jī)系計(jì)算機(jī)系計(jì)算機(jī)科學(xué)與技術(shù)教研室計(jì)算機(jī)科學(xué)與技術(shù)教研室辦公室:辦公室:C117Sun Bin 20102 BREW SDK中提供的資源編輯器可以將應(yīng)中提供的資源編輯器可以將應(yīng)用程序中使用的各種資源(包括字符串、圖用程序中使用的各種資源(包括字符串、圖片等)編譯為資源文件,從而將應(yīng)用程序的片等)編譯為資源文件,從而將應(yīng)用程序的源代碼和具體資源分離開源代碼和具體資源分離開Sun Bin 20103o BREW 資源編輯器允許您創(chuàng)建應(yīng)用程序中使資源編輯器允許您創(chuàng)建應(yīng)用程序中使用的用的對(duì)話框?qū)υ捒颉⒆址址?、二進(jìn)制二進(jìn)制以及以及對(duì)象對(duì)象。o 還可以使用資源編輯器創(chuàng)建控件,如:菜單、還可以使

2、用資源編輯器創(chuàng)建控件,如:菜單、列表、日期選擇器以及計(jì)時(shí)器等。列表、日期選擇器以及計(jì)時(shí)器等。 o 如果創(chuàng)建的應(yīng)用程序需要使用不同語(yǔ)言在各種如果創(chuàng)建的應(yīng)用程序需要使用不同語(yǔ)言在各種無(wú)線設(shè)備上運(yùn)行,這些資源將十分有用。無(wú)線設(shè)備上運(yùn)行,這些資源將十分有用。 Sun Bin 20104o 源文件源文件 .brx n-是 XML 格式的中間文件。 在用作 BREW 資源編譯器的輸入以生成最終輸出之前,可以使用資源編輯器對(duì)其進(jìn)行編輯和保存。 n注意: 資源編輯器不要求此中間文件使用 BRX 擴(kuò)展名。 只要文件包含正確的 XML 格式有效數(shù)據(jù),不管擴(kuò)展名是什么,資源編輯器都能夠?qū)ζ溥M(jìn)行解釋。o 資源文件資源

3、文件 .barn 是由資源編譯器作為最終輸出的一部分生成的二進(jìn)制文件。o 資源文件頭文件資源文件頭文件 .brh n是由資源編譯器作為最終輸出的一部分生成的頭文件。o 資源編譯器可以將資源編譯器可以將 brx 文件編譯為文件編譯為 bar 文件和文件和 brh 文件,以用于最終應(yīng)用程序。文件,以用于最終應(yīng)用程序。 Sun Bin 20105o 使用資源編輯器創(chuàng)建資源使用資源編輯器創(chuàng)建資源并保存成并保存成 .brx 文件文件o 將將.brx文件編譯為文件編譯為.bar和和.brh文件文件o 在源程序在源程序.c中用中用include語(yǔ)句包含語(yǔ)句包含.brh文件文件o 編譯生成編譯生成.dll文件

4、文件o 在模擬器中加載在模擬器中加載.dll運(yùn)行運(yùn)行過(guò)程中,從過(guò)程中,從.bar中加載資中加載資源源Sun Bin 20106使用資源編輯器可以創(chuàng)建四種類型資源:使用資源編輯器可以創(chuàng)建四種類型資源:o 字符串資源字符串資源o 對(duì)象資源對(duì)象資源o 二進(jìn)制資源二進(jìn)制資源o 對(duì)話框資源對(duì)話框資源Sun Bin 20107對(duì)于字符串資源,需要輸入標(biāo)識(shí)、屬性兩類信息:對(duì)于字符串資源,需要輸入標(biāo)識(shí)、屬性兩類信息:o 標(biāo)識(shí):標(biāo)識(shí):n IDo 資源編輯器將自動(dòng)指定一個(gè) 1001 到 5000之間的數(shù)字; 但如果需要指定一個(gè)特定的 ID,您也可以更改它。 該 ID 必須是同一資源文件 (BRX) 內(nèi)字符串資源中

5、的唯一確定整數(shù)。n 名稱o 為創(chuàng)建的資源輸入一個(gè)唯一的名稱。 系統(tǒng)也會(huì)自動(dòng)制定一個(gè)名稱:如字符串資源ID為1001,則字符串資源名為IDS_STRING_1001Sun Bin 20108對(duì)于字符串資源,需要輸入標(biāo)識(shí)、屬性兩類信息:對(duì)于字符串資源,需要輸入標(biāo)識(shí)、屬性兩類信息:o 屬性屬性n 來(lái)源為資源指定來(lái)源類型,包括Text、File、Hexn 數(shù)據(jù)根據(jù)資源來(lái)源類型,為資源指定數(shù)據(jù)值。n 編碼為資源選擇編碼格式n 備注為資源輸入備注信息,不會(huì)保存在.bar中o 資源的各項(xiàng)信息輸入之后,應(yīng)點(diǎn)擊資源的各項(xiàng)信息輸入之后,應(yīng)點(diǎn)擊“應(yīng)用應(yīng)用”Sun Bin 20109o 對(duì)象資源可以是各種不同的格式或

6、類型,但一對(duì)象資源可以是各種不同的格式或類型,但一定具有定具有 MIME 類型。類型。 o 對(duì)象資源通常為圖形圖像。對(duì)象資源通常為圖形圖像。o 對(duì)象資源的另一個(gè)常見(jiàn)用法是在應(yīng)用程序資源對(duì)象資源的另一個(gè)常見(jiàn)用法是在應(yīng)用程序資源中嵌入中嵌入 HTML 文件。文件。Sun Bin 201010對(duì)于對(duì)象資源,需要輸入標(biāo)識(shí)、屬性等信息:對(duì)于對(duì)象資源,需要輸入標(biāo)識(shí)、屬性等信息:o 標(biāo)識(shí):標(biāo)識(shí):n IDo 系統(tǒng)將自動(dòng)指定一個(gè) 5001 到 6000之間的數(shù)字; 但如果需要指定一個(gè)特定的 ID,您也可以更改它。 該 ID 必須是同一資源文件 (BRX) 內(nèi)字符串資源中的唯一確定整數(shù)。n 名稱o 為創(chuàng)建的資源輸

7、入一個(gè)唯一的名稱。 系統(tǒng)也會(huì)自動(dòng)制定一個(gè)名稱:如圖片對(duì)象資源ID為5001,則該圖片資源名為IDI_OBJECT_5001Sun Bin 201011屬性屬性n來(lái)源為資源指定來(lái)源類型,包括Text、File、Hexn數(shù)據(jù)根據(jù)資源來(lái)源類型,為資源指定數(shù)據(jù)值。當(dāng)來(lái)源為File時(shí),為資源制定相應(yīng)的文件n編碼為資源選擇編碼格式n備注為資源輸入備注信息,不會(huì)保存在.bar中o資源的預(yù)覽信息資源的預(yù)覽信息oMime 類型輸入關(guān)聯(lián)的類型輸入關(guān)聯(lián)的 mime 類型。類型。 資源編輯器將嘗試自動(dòng)檢測(cè)資源編輯器將嘗試自動(dòng)檢測(cè) mime 類型。寬度類型。寬度高度高度位位/像素如果選中像素如果選中 BMP、PNG 或

8、或 JPEG 圖像,此處將給出圖像圖像,此處將給出圖像的尺寸。的尺寸。 這些字段不能進(jìn)行編輯。這些字段不能進(jìn)行編輯。 對(duì)象預(yù)覽如果選中對(duì)象預(yù)覽如果選中 BMP、PNG 或或 JPEG 圖像,此處將顯示圖像的預(yù)覽效果。圖像,此處將顯示圖像的預(yù)覽效果。 此字段不能進(jìn)此字段不能進(jìn)行編輯。行編輯。 Sun Bin 201012o 資源的預(yù)覽信息資源的預(yù)覽信息n Mime 類型o 輸入關(guān)聯(lián)的 mime 類型。 資源編輯器將嘗試自動(dòng)檢測(cè) mime 類型。n 寬度、高度、位/像素o 如果選中 BMP、PNG 或 JPEG 圖像,此處將給出圖像的尺寸。 這些字段不能進(jìn)行編輯。n 對(duì)象預(yù)覽o 如果選中 BMP、

9、PNG 或 JPEG 圖像,此處將顯示圖像的預(yù)覽效果。 此字段不能進(jìn)行編輯。 Sun Bin 201013o編寫一個(gè)程序,在手機(jī)屏幕上顯示中文字符串編寫一個(gè)程序,在手機(jī)屏幕上顯示中文字符串“你好,你好,歡迎進(jìn)入歡迎進(jìn)入BREW世界世界”o編程思路:編程思路:o創(chuàng)建工程創(chuàng)建工程helloo使用資源編輯器創(chuàng)建資源文件使用資源編輯器創(chuàng)建資源文件myhello.brx,在該資源文件中創(chuàng)建,在該資源文件中創(chuàng)建一個(gè)字符串資源,其一個(gè)字符串資源,其ID為為1001,資源名為,資源名為IDS_STRING_1001,資源來(lái)源為資源來(lái)源為Text,數(shù)據(jù)值為,數(shù)據(jù)值為“你好,歡迎進(jìn)入你好,歡迎進(jìn)入BREW世界世界

10、”,將該,將該資源文件編譯為資源文件編譯為myhello.bar和和myhello.brh,保存在工程,保存在工程hello的文件夾中的文件夾中o在源代碼在源代碼hello.c中添加中添加#include myhello.brho在源代碼中使用在源代碼中使用ISHELL_GetResSize()函數(shù)計(jì)算該字符串的大小函數(shù)計(jì)算該字符串的大小o根據(jù)大小,分配內(nèi)存空間根據(jù)大小,分配內(nèi)存空間MALLOC()o使用使用ISHELL_LoadResString()函數(shù)從資源文件中加載字符串到函數(shù)從資源文件中加載字符串到所分配的內(nèi)存空間中所分配的內(nèi)存空間中1.使用使用IDISPLAY_DrawText()函

11、數(shù)顯示該字符串函數(shù)顯示該字符串Sun Bin 201014o使用資源編輯器創(chuàng)建資源文件使用資源編輯器創(chuàng)建資源文件myhello.brx,在該資源文件中創(chuàng)建,在該資源文件中創(chuàng)建一個(gè)字符串資源,一個(gè)字符串資源,ID為為1001,資源名為,資源名為IDS_STRING_1001,資源來(lái)源為資源來(lái)源為Text,數(shù)據(jù)值為,數(shù)據(jù)值為“你好,歡迎進(jìn)入你好,歡迎進(jìn)入BREW世界世界”,將該,將該資源文件編譯為資源文件編譯為myhello.bar和和myhello.brhSun Bin 201015o將該資源文件編譯為將該資源文件編譯為myhello.bar和和myhello.brhSun Bin 201016

12、在源代碼在源代碼hello.c中添加中添加#include myhello.brh另外程序中用到助另外程序中用到助手函數(shù)手函數(shù)MALLOC ,因此還需要包含頭因此還需要包含頭文件文件AEEStdLib.hSun Bin 201017o在資源文件頭文件在資源文件頭文件myhello.brh中包含以下宏定義:中包含以下宏定義:o#ifndef MYHELLO_BRHo#define MYHELLO_BRHo/ WARNING: DO NOT MODIFY THIS FILEo/ AUTO-GENERATED BY BREW Resource Editoro#define MYHELLO_RES_F

13、ILE myhello.baro#define IDS_STRING_10011001o#endif / MYHELLO_BRHSun Bin 201018o在源代碼在源代碼hello.c的事件處理函數(shù)的事件處理函數(shù)hello_HandleEvent 的的EVT_APP_START事件中添加代碼(紅色為添加部分):事件中添加代碼(紅色為添加部分):ostatic boolean hello_HandleEvent(hello* pMe, AEEEvent eCode, uint16 wParam, uint32 dwParam)o o switch (eCode) o case EVT_APP

14、_START: oo AECHAR * mystring; o uint32 resSize;oISHELL_GetResSize(pMe-pIShell,MYHELLO_RES_FILE,IDS_STRING_1001,RESTYPE_STRING,&resSize);omystring = (AECHAR *) MALLOC(resSize);oISHELL_LoadResString(pMe-pIShell,MYHELLO_RES_FILE,IDS_STRING_1001,mystring,resSize);oIDISPLAY_DrawText(pMe-pIDisplay,AEE

15、_FONT_NORMAL,mystring,-1,10,20,NULL,NULL);oIDISPLAY_Update(pMe-pIDisplay);oFREE(mystring);oo return(TRUE);o / App is told it is exitingo case EVT_APP_STOP:Sun Bin 201019o下面對(duì)添加的代碼分別進(jìn)行解釋:下面對(duì)添加的代碼分別進(jìn)行解釋:1、 AECHAR * mystring; 定義一個(gè)指向定義一個(gè)指向AECHAR類型緩沖區(qū)的指針,該緩沖區(qū)用于從資源文件中裝入類型緩沖區(qū)的指針,該緩沖區(qū)用于從資源文件中裝入要顯示的字符串要顯示的字符串

16、2、 uint32 resSize;定義一個(gè)整形變量,用于保存字符串資源的長(zhǎng)度定義一個(gè)整形變量,用于保存字符串資源的長(zhǎng)度3、ISHELL_GetResSize(pMe-pIShell, MYHELLO_RES_FILE, IDS_STRING_1001,RESTYPE_STRING,&resSize);該函數(shù)用于獲取指定資源文件中指定資源的大小,其參數(shù)如下:該函數(shù)用于獲取指定資源文件中指定資源的大小,其參數(shù)如下:第一個(gè)參數(shù)是指向第一個(gè)參數(shù)是指向IShell的指針(因?yàn)檫@是的指針(因?yàn)檫@是IShell接口的函數(shù))接口的函數(shù))第二個(gè)參數(shù)指定資源文件的名字,其值取自資源文件頭文件中;第二個(gè)參

17、數(shù)指定資源文件的名字,其值取自資源文件頭文件中;第三個(gè)參數(shù)指定資源文件中資源的第三個(gè)參數(shù)指定資源文件中資源的ID;第四個(gè)參數(shù)為資源文件的類型,此處字符串資源的類型為第四個(gè)參數(shù)為資源文件的類型,此處字符串資源的類型為RESTYPE_STRING第五個(gè)參數(shù)是存放資源大小的變量的地址,獲取的資源大小將填入該變量中第五個(gè)參數(shù)是存放資源大小的變量的地址,獲取的資源大小將填入該變量中Sun Bin 2010204、 mystring = (AECHAR *) MALLOC(resSize); 根據(jù)上條語(yǔ)句獲取的字符串大小,使用根據(jù)上條語(yǔ)句獲取的字符串大小,使用MALLOC函數(shù)為函數(shù)為mystring指指向

18、的向的AECHAR類型緩沖區(qū)分配內(nèi)存空間類型緩沖區(qū)分配內(nèi)存空間5、 ISHELL_LoadResString(pMe-pIShell, MYHELLO_RES_FILE, IDS_STRING_1001, mystring, resSize);將字符串從資源文件中加載到內(nèi)存的將字符串從資源文件中加載到內(nèi)存的mystring緩沖區(qū)中,其參數(shù)如下:緩沖區(qū)中,其參數(shù)如下:o第一個(gè)參數(shù)是指向第一個(gè)參數(shù)是指向IShell的指針(因?yàn)檫@是的指針(因?yàn)檫@是IShell接口的函數(shù))接口的函數(shù))o第二個(gè)參數(shù)指定資源文件的名字,其值取自資源文件頭文件中;第二個(gè)參數(shù)指定資源文件的名字,其值取自資源文件頭文件中;o第三個(gè)參數(shù)指定資源文件中資源的第三個(gè)參數(shù)指定資源文件中資源的ID;o第四個(gè)參數(shù)為字符串加載到內(nèi)存的目標(biāo)地址,為第四個(gè)參數(shù)為字符串加載到內(nèi)存的目標(biāo)地址,為mystring指向的緩沖區(qū)指向的緩沖區(qū)o第五個(gè)參數(shù)是給出要加載資源的大小第五個(gè)參數(shù)是給出要加載資源的大小Sun Bin 2010216、 IDISPLAY

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論