"本文主要探讨了BREW Extension的架构及其实现,从BREW应用开发者的视角出发,详细阐述了BREW的基本概念、Extension的应用场景、文件组成、Module Extension之间的关系,以及实现Extension的具体步骤,包括类型定义、AEEClsCreateInstance()的实现、构造函数、方法实现等。同时,文中还给出了执行序列的概述,帮助开发者更好地理解和运用BREW Extension进行无线应用开发。"
1BREW概览
1.1 BREW简介
BREW是由QUALCOMM公司开发的一种无线二进制运行环境,它通过组件化(COM)的方式整合了底层平台的服务,并提供了统一的API,以隐藏底层实现细节。BREW的API专注于功能描述,确保在QUALCOMM平台技术升级时,功能接口的兼容性。
1.2 BREW基本概念
在BREW中,有两个关键概念:Applet和Extension。Applet是可以独立运行的应用程序,拥有自己的Applet Context(ACONTEXT)。而Extension则不独立运行,它通过实现特定接口为Applet或其他Extension提供服务。在BREW系统中,应用程序和Extension可以以Win32模拟环境下的.dll文件或实际设备上的.mod文件形式存在,且支持动态下载和运行。
2 开发BREW Extension
2.1 Extension应用场景
Extension主要用于扩展BREW平台的功能,可以被Applet直接或间接调用来实现特定任务,例如提供特定的数据处理能力或网络服务。
2.2 文件组成
一个BREW Extension通常包含头文件、源代码文件和编译后的库文件。头文件定义了Extension的接口,源代码实现了这些接口,而库文件则是编译后的二进制模块。
2.3 Module Extension的关系
Module Extension是Extension的一种形式,它们通过接口与Applet交互,可以被多个Applet共享,从而提高代码复用率。
2.4 实现Extension
2.4.1 类型定义
首先,需要定义Extension的类结构和数据类型,这些定义应遵循BREW的接口规范。
2.4.2 AEEClsCreateInstance()的实现
这是创建Extension实例的关键函数,用于根据类ID实例化Extension对象。
2.4.3 构造函数的实现
构造函数初始化Extension对象,并可能包含必要的资源分配。
2.4.4 SampleExt对IBase中方法的实现
Extension需要实现它所继承的接口中的所有方法,例如IBase接口的方法。
2.4.5 JustSayHello()方法的实现
以一个简单的示例方法为例,说明如何实现Extension提供的具体功能。
2.5 执行序列
理解Extension的执行顺序对于调试和优化至关重要,它涉及到Applet调用Extension,以及Extension内部方法的调用流程。
3 总结
BREW Extension的开发涉及多个层面,包括接口设计、代码实现和执行流程管理。开发者需要深入理解BREW的架构,以便充分利用其提供的灵活性和扩展性。
4 参考资料及进一步参考
为了深入学习和实践,开发者可以参考文中提供的参考资料和进一步学习的资源。
关于作者
虽然作者未在文档中明确提及,但本文的作者田海立显然在BREW开发领域具有丰富的经验。
通过本文的详细解析,开发者可以了解到BREW Extension的开发过程,从而能够构建更强大、更灵活的无线应用程序。