2022年brew简明教程 .pdf
《2022年brew简明教程 .pdf》由会员分享,可在线阅读,更多相关《2022年brew简明教程 .pdf(34页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 BREW SDK 一览BREW SDK 包含了一组工具以帮助软件开发人员快速、高效率地开发,发布用于手持设备的 BREW 应用程序。1.1 BREW SDK 组件BREW SDK 包含了下列几个组件:BREW AEE:BREW AEE 是一个可扩展、面向对象的开发和运行环境,它提供了一个可以用 C 或 C+ 开发 BREW 小应用 (Applet) 或共享模块 (Shared Module) 的高效平台。它采用一种消息驱动机制(类似与 Microsoft Windows, Macintosh 和 X Windows) 以提高可用性。模拟器:BREW 模拟器提供了一个图形界面用于装载和测试
2、BREW 应用程序, BREW SDK 套件中自带了几种模拟设备的配置文件,用户也可以自己创建新的设备模拟配置文件,以模拟不同的手持设备。设备配置器:设置配置器可以用来创建新的设备配置文件或修改已有的设备配置文件,可以帮助配置诸如按键及其功能,设备屏幕大小和分辨率以及内存大小等。资源编辑器:使用 BREW 的资源编辑器, 可以为应用程序创建资源文件,开发者可以在Windows 或手持设备上使用同样的资源文件。MIF 编辑器:BREW 的 MIF 编辑器用于生成 MIF(模块信息文件)文件, MIF文件包含了用于装载模块或应用相关的一些信息,如应用程序名称,图标等。BREW 动态连接库:BREW
3、 SDK 套件包中包含几个动态连接库用于提供 BREW 相关的一些Window 平台核心服务调用接口。BREW OEM 动态连接库:该动态库提供了下层用于在 Window 平台上模拟设备一些动态库。BREW 头文件:BREW SDK 头文件中定义了 BREW SDK 所提供了接口定义,用作开发BREW应用,每个 BREW 接口都有与之对应的头文件, 在开发应用程序时如果用作某个接口,必需在源代码中包含该头文件。VS Add-ins :BREW SDK 套件可与 Visual Studio 结合使用,在成功安装 BREW SDK 套件后,在 Visual Studio 开发环境中会自动创建一个
4、BREW 应用开发向导以简化 BREW 开发过程。BREW Utilities:包含在 BREW SDK 中,提供了一些实用函数以开发 BREW 应用。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 34 页 - - - - - - - - - 程序示例:BREW 安装包中包含了几个示例程序以用于开发人员学习参考。BREW 文档:提供了 BREW 套件中工具, SDK 帮助及教程。在线帮助:在 Visual Studio 开发环境中置好 BREW 在线帮助后,可以通过 F
5、1 来显示 BREW 在线帮助。1.2 BREW 组件如何交互下图显示 BREW 的主要组件( MIF 编辑器、资源编辑器、 C+ IDE、设备配置器和模拟器)以及它们之间是如何相互作用的。图中 Testapp 代表了一个由 BREW 开发的应用程序。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 34 页 - - - - - - - - - 1.3 BREW SDK 目录结构BREW 开发包安装后包含下列几个子目录:目录名称内容名师资料总结 - - -精品资料欢迎下载
6、- - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 34 页 - - - - - - - - - Bin BREW 可执行程序及数据文件Bitmaps 用于示例程序的图片资源Devices BREW 安装包中的设备配置文件Docs BREW 文档Examples 示例程序Help 帮助文件Inc 头文件Src BREW 相关的基础源文件,可以与自行开发的代码一起编译,比如开发者必需在每个项目中包含 AEEAppGen.c 和 AEEModGen.c 作为项目中的一部分 , 除非开发自己创建特性化的上述两个文件1.3.
7、1 Bin Bin 中包含了可执行程序及数据文件,在 BinDataFiles 子目录中有声音数据和几种 BEEP 声音,详细信息可以参考 ISound 接口,Bin 目录中也包含了用于不同语言环境下的资源文件,如 Binen 为英语资源文件,在 Mono, 4Grey, 256Color 目录下分别包含了颜色深度为1、2、8 位时系统和应用程序资源。设置缺省的 BREW 环境,在 Bin 目录下有一个 EnvVarSt.exe 。运行它可以设置BREW 土环境变量 BREWDIR 为 BREW 的安装目录。1.3.2 Bitmaps 该目录下为示例程序用到一些图片文件,你也可以在该目录下添加
8、一些新的图片用于新开发的应用程序。1.3.3 Devices 安装包中的设备配置文件, 可以通过模拟器调入不同的设备文件,如下图所示。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 34 页 - - - - - - - - - 1.3.4 Examples Examples 目录下包含了几个示例应用程序代码, 资源, Bar 文件(用于资源编辑器将资源调入 dll 中。) 共享文件和 MIF 文件。示例应用 BREW SDK 安装包中带有几个 BREW 应用,显示如何调用
9、 BREW 接口和 API 。小应用和 MIF 文件缺省的保存小应用程序和 MIF 文件的目录为 BREW 安装目录 Examples 。这是所用应用程序存贮目录的根目录,所有的应用程序具有和其 MIF 文件一样名称的应用程序目录。例如,应用程序目录下包含 ExpenseTracker.dll 和ExpenseTracker.mif , 该子目录下也包含了资源文件和其它应用程序相关文件。注:缺省 MIF 文件存放与其应用程序目录同一目录下,但也可以通过模拟器菜单更改其缺省路径位置。共享文件目录包含了可以被所有BREW 应用共享的文件。所有针对 AEE_SHARED_DIR 的文件读写操作都是对
10、该目录进行访问。该目录还有一个名为 appinfo.txt 的文本文件。每当发生针对应用程序管理器的更改,比如新增一个应用, 将更新该文件。模拟器启动时, 读取该文件和指定的 MIF 文件存放目录,为应用程序管理器载入正确的配置信息。1.3.5 Resource 资源目录, Bin 下的一个子目录,包含了针对某种语言和颜色深度的系统资源,缺省情况下, BREW 采用英文环境,缺省目录为。注:系统资源存放在AEEControls.bar 文件中, AEEControls.bri 为资源的源文件。1.3.6 关于路径及文件名名师资料总结 - - -精品资料欢迎下载 - - - - - - - -
11、- - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 34 页 - - - - - - - - - 当运行在 PC 上的应用程序时, 可以输入最长为 256 的路径及文件名, 但在实际设备上时,这个长度可能会较小。大小写敏感在输入文件名时文件名大小名非常重要,在 PC 机大小写可以混用,便在设备上,必需使用小写字母。2 BREW 基础今天的移动通信用户期望从他们的移动设备上得到更多的功能特性,这些移动设备包括了从高端和移动 PDA 到具有巨大市场的追求价格低廉,方便使用的手机设备。2.1 BREW解决方案BREW 的目标是提供一个高效、低成本,可扩展
12、的应用程序运行环境,尤其将其重点放在开发可无缝移植到虚拟手持设备上,和一些需要足够内存, 处理机速度及硬件的高端手持设备不同, BREW 运行在目前已存在的手持设备。 有了 BREW 应用程序开发人员可以为这些低成本的手持设备扩展其功能。BREW 所提供一些优点: BREW 提供了对 RAM 和固定内存空间 , 所有的对象都根据需要载入或卸载。BREW 提供了一个熟悉的, 与 Microsoft Window 和 Macintosh 或 UNIX X Windows 类似的消息驱动模式。BREW 可以本地化为以适应不同的国家。所有的文件都采用宽字节 (双字节), 所有的字符都是 16-bit
13、长度,BREW 同样也提供了对文本的 OEM 特定的格式。程序开发人员无需了关心底层的平台数据结构和设备驱动,因为 BREW 提供了各种良好定义的类来实现应用程序与设备之间的交互。可以独立、并行开发模块,从而减少开发和集成时间。模块可以在对象代码级进行集成, 从而在于简化了在 BREW 平台上增加模块的过程。BREW 支持接收应用程序指定的短消息,比如股票、Email 摘要等。BREW 提供了一些核心类用于与设备之间的交互,包括以下类:oShell services oTime/timers (obtaining current date and time. starting and stop
14、ping timers and alarms) oNotifications oMemory management oFile management oDatabase management oNetwork and sockets oHTTP oDownload and billing oUser interface controls, including the following: 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 34 页 - - - - - - -
15、 - - oDialogs oDate controls oMenu controls oText controls oTime controls oStatic text controls oDisplay oImages (displaying, transformation, animation) oGraphics oMultimedia services (media players and recorders for audio and video content) oSound (generating ringing, warning sounds, and playing au
16、dio files) oStandard library helper functions 2.2 BREW 环境BREW 的可扩展的面向对象的应用程序运行环境可用 C 和 C+ 开发应用程序或共享模块,同时 BREW 提供了手持设备内存的有效利用和保护。BREW 支持应用程序和共享模块,应用程序和共享模块作为独立的 DLL 运行时由模拟器载入,共享模块包含了功能库(如增强的Game API)可被多个应用程序调用。BREW 应用可在 Window 操作系统进行模拟开发。 BREW 提供一组功能强大的对象技术给开发人员:应用服务支持简单的事件驱动的 AEE。核心服务提供了文件访问、网络服务、内存
17、和屏幕访问。增强服务如增强的图像功能、多媒体播放器和录音机以及 GPS 和语音服务。集成服务,允许应用程序开发人员得到一些诸如浏览器功能。下面的图示表明了 BREW 如何提供了一个访问 OEM 和 ASIC 软件应用程序和共享模块支持。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 34 页 - - - - - - - - - 2.3 BREW 模块 / 接口结构BREW AEE 提供了一组功能明细的服务,包括了几种 AEE 接口如 IShell 和IDisplay.每个
18、接口包含了一些资源及对这些资源进行操作的方法,BREW 模块可以包含一个或多个应用或类。2.3.1 使用接口接口由一个 32 位的接口 ID(类 ID)来标识,公用的接口必需使用 BREW 接口注册表来保留。接口注册表本身并不对如何对接口ID 进行赋值有什么约束,它提供了 BREW 开发人员防止 ID 冲突的方法。所用的 BREW 接口都从 IBase 派生出来。在使用一个接口之间,必需首先调用 IShell 接口的成员函数IShell_CreateInstance() 来创建该接口的一个实例, 注意在没有应用使用该接口要释放该接口资源。3 BREW 编程概念本章讨论了 BREW 编程的一些基
19、本概念 , 包括 Applet 、 模块、BREW 的 Class ID、Shell 服务、浮点运算等。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 34 页 - - - - - - - - - 3.1 Applet 和模块总述BREW 中每个应用都是作为一个独立的 Window DLL 存在的,每个模块可以包括一个或多个小应用 (Applet), 并且必需有一个与之对应的 MIF 文件,MIF 文件是通过 MIF 编辑器生成的,它包含了关于这个模块的内容信息,比如:支
20、持的类、支持的 Applet 、 Applet 权限、以及 Applet 的一些详细信息 (图标、题头)。MIF 文件同时也包含了模块中类的唯一的 Class ID, 并指出模块中哪点类是可以输出供其它的模块使用。一个模块可以从 BREW 资源文件中读取数据,从而使用应用程序可以获取字符串、图像、对话框资源。 通过在资源文件存入与语言或设备相关的信息,使用得编写适应不同国家或设备的应用成为可能。资源文件可以通过 BREW 的资源编辑器来生成二进制资源文件和相应的资源头文件。开发 BREW 应用,可以被编辑成可以模拟器和目标设备上运行,用于编辑 BREW 应用所需的一些头文件和源代码随 BREW
21、 SDK 提供,一些用于生成 DLL 特定功能的文件也包含中开发包中, 允许开发人员生成应用程序和资源文件,在模块器和目标设备使用的资源文件及其二进制文件格式是相同的。下面列出了生成一个应用所需的部件:BREW SDK 提供的 AEE 头文件。BREW SDK 提供的用于帮助生成应用的源代码。Applet 代码和头文件。同 MIF 编辑器生成的 MIF 文件。由资源编辑器生成的 Applet 资源文件及其头文件(可选)。3.1.1 关于 MIF 文件在 Applet 可以被模拟器调入之前必需创建该模块的 MIF 文件, MIF 文件也必需包含中 Applet 的发布包中。 在设备或是模拟器启动
22、时, 应用程序管理器读取每个 MIF 文件,以取得包含中该 MIF 文件中应用程序列表, 应用程序管理在屏幕显示该列表(应用程序图标及标题)。3.1.2 BREW Class ID BREW 中每个 Applet 或类都有唯一的 Class ID 与这对应,在 BREW 中使用一个 32 位整数来标记公共类或 Applet, 可以从 BREW 开发者http:/ Class ID 。注意: BREW Class ID 只对于授权的开发者开放,如果没有得到授权时,可以使用一些临时 Class ID, 直到你取得相应的授权为止。如果手工为类或 Applet 赋 Class ID ,必需保证其唯一性
23、,如果一个类或Applet 的 ID 相同,则该类或是 Applet 不能运行。比如如下的目录结构:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 34 页 - - - - - - - - - sample/bar.mif sample/testapp.mif sample/testapp/testapp.dll 如果 bar.mif 和 testapp.mif 具有相同的 Class ID, 该应用不会被运行, 这是因为 BREW 按照其中目录中出现的顺序来取 MIF
24、文件,对于指定 Class ID, BREW 先调入 bar.mif 。 所以当试图运行该项应用时, BREW 在该目录中查找 bar 子目录但找不到。BREW 中含用两种类的 Class ID :接口 Class ID 和 Applet Class ID。接口 Class ID所有 BREW 公用接口具有一个可以唯一标识其类别的 Class ID ,这些Class ID 是 BREW 保留并不可以被其它的类或 Applet 使用,当一个Applet 通过调用 ISHELL_CreateInstance 来取得一个指向某个接口的指针时,它使用该接口的 Class Id 来标明所需的接口,可以参
25、考 BREW API 查看所有的接口 Class ID 。Applet Class ID所有在 BREW 平台上运行的 Applet 也必需有一个唯一的 Class ID,在Applet 被载入时该 Class ID 将传给 AEE Shell ,Shell 随后将使用该Class ID 来载入和管理该 Applet 。3.1.3 创建实例BREW 提供了一个功能强大的函数 ISHELL_CreateInstance 用于创建 Applet 或模块。调用该函数时, BREW 从所支持的类列表中查找指定 Class ID,该列表包含了 BREW 提供核心 API 以及在系统启动从MIF文件中所取
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年brew简明教程 2022 brew 简明 教程
限制150内