《BREW进阶与精通――3G移动增值业务的运营、定制与开发》连载之85――BREW中扩展类的开发
2010-09-29 14:22
369 查看
扩展类不作为独立的应用程序使用,手机用户不能直接特别购买、下载或删除它们,而是在使用此扩展类的应用程序的内部环境中处理这些功能。扩展类是一种特殊的应用,相当于应用开发商自己开发的库,在PC机上表现为DLL库,在终端上同样是mod执行文件。
扩展类应用从所有者的角度可以分为两种:公有扩展类和私有扩展类。公有扩展类由开发商开发和拥有,提供给其他开发使用并收费。私有扩展类可以由开发商开发和拥有,供给自己的一个或多个应用使用,与其他应用共享收益;也可以由运营商开发和拥有,由运营商发布,提供给开发商或合作伙伴使用;还可以由手机厂商开发和拥有,由手机厂商发布,给合作伙伴使用。
在扩展类创建时要注意实现的次序,首先要分配内存,然后是初始化虚表,最后是初始化成员变量和所需的其他代码,示例如下:
if(nSize < sizeof(MyExtension)) nSize += sizeof(MyExtension);
If ((pMe = (MyExtension *)MALLOC(nSize + sizeof(VTBL(IMyExtension)))) == NULL)
return ENOMEMORY;
// initialize the data members
pMe->m_nRefs = 1;
pMe->m_MyData1 = 0;
pMe->m_MyData2 = 0;
扩展类中其他函数的实现与一般应用中的方法实现相同。
在使用扩展类时相当于一个接口的调用,只需包含扩展类的头文件,然后创建扩展类的接口实例,就可以正常使用扩展类中的函数了。例如:
If(ISHELL_CreateInstance(pMe->m_pIShell,AEECLSID_MYEXTENSION,(void **)&pExtCls))
return FALSE;
IEXTCLS_MyFunction1(pExtCls, 0);
IEXTCLS_Release(pExtCls);
一个应用和扩展类间的通信与前面讨论的应用间的通信方法是类似的。本文出自 “我相信” 博客,请务必保留此出处http://wirelesscao.blog.51cto.com/3397462/631873
扩展类应用从所有者的角度可以分为两种:公有扩展类和私有扩展类。公有扩展类由开发商开发和拥有,提供给其他开发使用并收费。私有扩展类可以由开发商开发和拥有,供给自己的一个或多个应用使用,与其他应用共享收益;也可以由运营商开发和拥有,由运营商发布,提供给开发商或合作伙伴使用;还可以由手机厂商开发和拥有,由手机厂商发布,给合作伙伴使用。
在扩展类创建时要注意实现的次序,首先要分配内存,然后是初始化虚表,最后是初始化成员变量和所需的其他代码,示例如下:
if(nSize < sizeof(MyExtension)) nSize += sizeof(MyExtension);
If ((pMe = (MyExtension *)MALLOC(nSize + sizeof(VTBL(IMyExtension)))) == NULL)
return ENOMEMORY;
// initialize the data members
pMe->m_nRefs = 1;
pMe->m_MyData1 = 0;
pMe->m_MyData2 = 0;
扩展类中其他函数的实现与一般应用中的方法实现相同。
在使用扩展类时相当于一个接口的调用,只需包含扩展类的头文件,然后创建扩展类的接口实例,就可以正常使用扩展类中的函数了。例如:
If(ISHELL_CreateInstance(pMe->m_pIShell,AEECLSID_MYEXTENSION,(void **)&pExtCls))
return FALSE;
IEXTCLS_MyFunction1(pExtCls, 0);
IEXTCLS_Release(pExtCls);
一个应用和扩展类间的通信与前面讨论的应用间的通信方法是类似的。本文出自 “我相信” 博客,请务必保留此出处http://wirelesscao.blog.51cto.com/3397462/631873
相关文章推荐
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之85——BREW中扩展类的开发
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之19---价值蓝海
- 《BREW进阶与精通――3G移动增值业务的运营、定制与开发》连载之70---面向照相机的开发
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之95——BREW中的典型上有测试TBT
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之46---BREW SDK 九大功能之系统服务
- 《BREW进阶与精通――3G移动增值业务的运营、定制与开发》连载之50---BREW SDK 九大功能之网络服务
- 《BREW进阶与精通――3G移动增值业务的运营、定制与开发》连载之11---什么是BREW
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之15---BREW精要之集中分布式应用管理和内容分发
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之77——BREW中位置信息的获得(LBS应用)
- 《BREW进阶与精通――3G移动增值业务的运营、定制与开发》连载之68---BREW 应用中的3维图像技术
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之18---商业模式
- 《BREW进阶与精通――3G移动增值业务的运营、定制与开发》连载之29---面向IMS的BREW
- 《BREW进阶与精通――3G移动增值业务的运营、定制与开发》连载之19---价值蓝海
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之33---WAP 调用BREW
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之71---BREW中语音与短信的开发
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之22---BDS的分发流程
- 《BREW进阶与精通――3G移动增值业务的运营、定制与开发》连载之95――BREW中的典型上有测试TBT
- 《BREW进阶与精通――3G移动增值业务的运营、定制与开发》连载之46---BREW SDK 九大功能之系统服务
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之39---BREW手机中的相关参数说明
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之91——BREW手机中的调试模式