《《程序结构分析》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《程序结构分析》PPT课件.ppt(23页珍藏版)》请在三一办公上搜索。
1、Symbian程序结构分析,主要内容,程序结构工程组织应用图标及启动资源文件打包图片打包文件格式多视图程序,程序结构,S60应用框架MVC设计模式,程序结构,GUI应用运行分析代码分析应用类文档类AppUi类启动代码运行分析,工程组织,bld.infPRJ_PLATFORMSWINSCW ARMV5 GCCEPRJ_MMPFILESgnumakefile icons_scalable_dc.mkgnumakefile.helpbuild_help.mkExam0303NewGui.mmp,工程组织,工程组织文件*.mmpTARGETExam0303NewGui_0 xE2F675DA.exeT
2、ARGETTYPE exeUID 0 x100039CE 0 xE2F675DA SOURCEPATH.srcSOURCEExam0303NewGui.cppSOURCEExam0303NewGuiApplication.cpp,工程组织,SOURCEPATH.data START RESOURCEExam0303NewGui.rss HEADER TARGET Exam0303NewGui_0 xE2F675DA TARGETPATH resourceapps END/RESOURCE START RESOURCEExam0303NewGui_reg.rss TARGET Exam0303N
3、ewGui_0 xE2F675DA_reg TARGETPATH private10003a3fapps END/RESOURCE,工程组织,USERINCLUDE.incUSERINCLUDE.helpSYSTEMINCLUDE epoc32includeLIBRARY euser.libLIBRARY apparc.libLIBRARY cone.libLANG SCVENDORID 0SECUREID 0 xE2F675DACAPABILITY ReadUserData,应用图标及启动,注册表资源文件1.#include Exam0303NewGui.hrh2.#include Exam
4、0303NewGui.rls3.#include 4.#include 5.6.UID2 KUidAppRegistrationResourceFile7.UID3 _UID38.9.RESOURCE APP_REGISTRATION_INFO10.11.app_file=Exam0303NewGui_0 xE2F675DA;12.localisable_resource_file=qtn_loc_resource_file_1;13.localisable_resource_id=R_LOCALISABLE_APP_INFO;14.15.embeddability=KAppNotEmbedd
5、able;16.newfile=KAppDoesNotSupportNewFile;17.,应用图标及启动,在程序资源文件中定义下面的资源RESOURCE LOCALISABLE_APP_INFO r_localisable_app_infoshort_caption=qtn_caption_string;caption_and_icon=CAPTION_AND_ICON_INFOcaption=qtn_caption_string;number_of_icons=1;icon_file=resourceappsExam0303NewGui_0 xE2F675DA.mif;,打包图片,打包矢量
6、图片使用*.mk文件例子Icons_scalable_dc.mk 1.ifeq(WINS,$(findstring WINS,$(PLATFORM)2.ZDIR=$(EPOCROOT)epoc32release$(PLATFORM)$(CFG)Z3.else4.ZDIR=$(EPOCROOT)epoc32dataz5.endif6.7.TARGETDIR=$(ZDIR)resourceapps8.ICONTARGETFILENAME=$(TARGETDIR)ImiChatApp.mif9.11.ICONDIR=.gfx12.13.RESOURCE:$(ICONTARGETFILENAME)14
7、.15.$(ICONTARGETFILENAME):$(ICONDIR)qgn_menu_ImiChat.svg16.mifconv$(ICONTARGETFILENAME)17./c32$(ICONDIR)qgn_menu_ImiChat.svg18.,资源文件,程序资源文件格式资源文件头资源文件体,资源文件,资源文件头/代码块1 资源标识符NAME EXAM/4 letter ID/代码块2 INCLUDES#include#include/代码块3定义资源文件签名,这个资源应该是空的RESOURCE RSS_SIGNATURE/代码块4缺省的文档名称RESOURCE TBUF r_def
8、ault_document_namebuf=EXAM;/代码块5定义应用默认的菜单和CBA栏按钮RESOURCE EIK_APP_INFOmenubar=r_menubar;cba=R_AVKON_SOFTKEYS_OPTIONS_EXIT;,资源文件,资源文件体RESOURCE STRUCTNAME res_nameresource-initializer-list,资源文件,编译资源文件,资源文件,定义菜单1.RESOURCE MENU_BAR r_menubar2.3.titles=4.5.MENU_TITLE menu_pane=r_menu;6.;8.9.,资源文件,定义菜单10./
9、r_menu11./Menu for Options12.RESOURCE MENU_PANE r_menu13.14.items=15.16./added the new Options menu command here17.MENU_ITEMmand=ECommand1;20.txt=“Message”;21.,22.MENU_ITEMmand=ECommand2;25.txt=qtn_command2;26.,27 28.;29.,资源文件,处理菜单命令void CExam0303NewGuiAppUi:HandleCommandL(TInt aCommand)switch(aComm
10、and)case EEikCmdExit:case EAknSoftkeyExit:Exit();break;case ECommand1:/break;default:Panic(EExam0303NewGuiUi);break;,资源文件,定义CBA栏RESOURCE CBA r_confirmation_softkeys_ok_cancel buttons=CBA_BUTTON id=EAknSoftkeyOk;txt=“ok”;,CBA_BUTTON id=EAknSoftkeyCancel;txt=“cancel”;,资源文件,定义字符串资源定义本地化字符串资源#define qtn
11、_caption_string Exam0303NewGui 定义资源RESOURCE TBUF32 r_caption_string buf=qtn_caption_string;使用字符串定义HBufC*textResource=StringLoader:LoadLC(R_CAPTION_STRING);CAknInformationNote*informationNote;informationNote=new(ELeave)CAknInformationNote;informationNote-ExecuteLD(*textResource);CleanupStack:PopAndDe
12、stroy(textResource);,BMP图片打包,在mmp文件中打包位图START BITMAP vas.mbmHEADERTARGETPATHresourceappsSOURCEPATH.lookandfeelbmpSOURCE c12 vas_icon.bmpSOURCE c12 vas_icon_mask.bmpSOURCE c12 vas_title.bmpSOURCE c12 vas_title_mask.bmpEND,打包文件格式,1.;程序支持的语言定义2.安装的文件17.Symbian9.1S60_3rd_MREpoc32releasegcceurelExam0303NewGui_0 xE2F675DA.exe-!:sysbinExam0303NewGui_0 xE2F675DA.exe18.,打包文件格式,S60平台UID对照表,