通常我们使用的application framework需要以下几个类:application,document,appui,view,container。每个对象负责不同的功能。这里首先从application对象开始分析。
1. Application 分析
-------------------------
继承关系:
CEikApplication -->CApaApplication -->CBase
-------------------------
application对象是整个application和applcation framework交互的基础。同时提供了接口给document和resource file。application对象必须实现的函数是AppDllUid(),这个函数向application framework注册application dll的UID。这个UID是applicationframework用来区分不同application之用。
(【注】application framework是不是利用这个UID向不同的app传送event呢?)
application对象另外一个主要的功能是创建document对象,也就是说必须要实现
CreateDocumentL()函数,这个函数由Application Framework负责调用。
(【注】这就是application framework编程的好处,有些东西不要管的就不要管)
application对象继承自CApaApplication对象,这样就实现了访问application信息
函数,如AppFullName()函数提供了app的全名和路径,这样,利用这个函数就能了解到应用被安装到那个目录,从而实现在程序中的目录灵活映射。
例如:可以这样取得目录结构:
代码:
TFileName appNamePath;
// Get the full name and path of the application
appNamePath = CEikonEnv::Static()->EikAppUi()->Application()->AppFullName();