新手入门系列(二)——从零开始创建BREW™应用程序
作者:禁令2502861143 | 来源:互联网 | 2023-09-03 17:07
1.下载BREWSDK™当前的BREW1.0、1.1和2.0版本都提供BREWSDK。您可以下载任一版本的SDK或下载所有三个版本的SDK。在安装BREWSDK
1. 下载 BREW SDK™
当前的 BREW 1.0、1.1 和 2.0 版本都提供 BREW SDK。 您可以下载任一版本的 SDK 或下载所有三个版本的 SDK。
在安装 BREW SDK 的过程中,将 BREW 目录名选择为 BREW、BREW1_0、BREW1_1 或 BREW2_0。目录名中不应包含空格,也不应包含句点(如 BREW1.1)。
您应该根据目标手持设备的 BREW 版本,选择创建应用程序使用的 SDK 版本。 例如,LG VX-10 具有 BREW 版本 1.1。 构建目标设备 LG VX-10 使用的应用程序时就应该使用 BREW SDK 1.1 或更低版本。 有关 SDK 版本兼容性的详细信息,请参阅 我有一个使用 1.0.1.18 BREW SDK 编写的应用程序。 但是,我的电话上的 BREW API 是 1.0.2.4。 我的应用程序是否会在电话上运行?
有关相关手持设备的详细信息(包括支持的 BREW s/w 版本),请参阅 BREW 开发者外联网上提供的设备数据表。
2. 自学两个使用 BREW 开发应用程序时会涉及的基本组件
BREW Emulator - 一种程序,用于在模拟单个手持设备功能的环境中执行和测试应用程序。
BREW MIF 编辑器 - 一种程序,用于创建和修改 MIF(模块信息文件)文件。 您创建的每个应用程序(模块)都需要一个 MIF 文件。 它含有关于您的应用程序的信息。
3. 启动 Microsoft Visual C++ 6.0
从 File(文件)菜单中选择 New(新建)并单击 Projects(项目)选项卡。 启动“BREW 应用程序向导”并按照其引导完成所有步骤。 建议在执行“BREW 应用程序向导”引导步骤时,创建 MIF(通过单击“MIF 编辑器”)。 有关详细信息,请参阅步骤 4。
注意:有时侯"(通过单击“MIF 编辑器/MIF Editor”)"可能无法启动.这时你就需要到BREW SDK的程序列表中去手动启动MIF Editor了.
如果您只安装了 BREW SDK 1.0,将找不到“BREW 应用程序向导”。 您需要安装 BREW SDK 1.1 或 2.0 才能使用“BREW 应用程序向导”。
BREW SDK 安装过程会设置 BREWDIR 环境变量,并将其值设置为 BREW 目录路径。 如果您安装了多个版本的 BREW SDK,则应该检查 BREWDIR 的值。
检查方法为:开始 -> 控制面板 -> 系统 -> 高级 -> 环境变量。 应该将 BREWDIR 设为您要在开发应用程序时使用的 BREW 版本的 BREW 目录路径。 例如,可以将 BREWDIR 设置为 C:/Program Files/BREW1_0。
4. 完成“BREW 应用程序向导”的所有引导步骤后,您就完成了应用程序基本结构的构建工作。 如果在步骤 3 中执行“BREW 应用程序向导”引导步骤的过程中未创建 MIF 文件,则在构建/编译此应用程序之前还需执行以下操作:
打开 MIF 编辑器。 单击“新建小程序”。 在随后出现的对话框中,输入此应用程序的名称。 此名称必须与该应用程序的项目目录名相同。
可以选择在本地生成应用程序的 Class ID(BREW 应用程序的唯一 ID)。 在提交应用程序进行认证之前,您需使用 BREW 开发者外联网提供的 Class ID Generator 来生成 Class ID。
然后会提示您将 Class ID 保存在 BID 文件中。 您应该将 BID 文件保存在项目目录中。
将 MIF 文件保存在 Examples 目录(如 C:/Program Files/BREW2_0/Examples)中。
5. 在 Visual C++ 中,选择 File View(文件视图)选项卡,打开 Source Files(源文件)目录下的 .c 文件,编辑该文件使其包含您保存在 MIF 编辑器中的 .bid 文件: #include "myApp.bid"
6. 在继续进行和编译应用程序之前,需要检查以下几项内容:
是否已将环境变量 BREWDIR 设为您要在编译应用程序时使用的 BREW 版本的 BREW 目录路径?
有种验证方法为:右键单击 AEEAppGen.c 或 AEEModGen.c,然后单击属性。 检查项目中文件的路径,确定他们来自何处。 它们是否来自正确的 BREW 版本目录? 如果不是,则应该确保将 BREWDIR 环境变量设为您要在开发应用程序时使用的 BREW 版本的 BREW 目录路径。 这可以确保:只需更改 BREWDIR 环境变量,即可轻松地使用新版 BREW 编译应用程序,或将应用程序链接至新版 BREW。
最后一着:从工作空间删除 AEEAppGen.c 和 AEEModGen.c,然后重新添加。 要使用此方法,请单击 Project(项目)-> Add to Project(添加到项目)-> Files(文件)...,然后从您开发应用程序所用的 BREW SDK 版本的 /src 目录中选择 AEEAppGen.c 和 AEEModGen.c 文件。
转至 Project(项目)->Settings(设置)
Link(链接)选项卡中的输出文件名必须如示例 "myApp.dll" 所示,而不能为 "/Debug/myApp.dll" 或任何其它前缀目录。
7. 现在,您可以继续进行并将应用程序作为 DLL 进行编译(编译 -> 编译 myApp.dll)
8. 如果编译应用程序时没有出现错误,则可以使用 BREW Emulator 运行此应用程序。 在 Emulator 中:
将 MIF 目录设置为包含 MIF 文件的目录。 例如,C:/Program Files/BREW/Applications/MIF/。
将小程序目录设置为项目目录的父目录。 例如,如果项目目录为 C:/Program Files/BREW/Applications/myApp/,则必须将小程序目录设置为 C:/Program Files/BREW/Applications/
9. 此时,您的应用程序名将显示在 Emulator 中,但它尚无任何功能。 要使应用程序开始运行,就必须在 "myApp.c" 中添加更多代码,因为此时的应用程序只是向导创建的框架而已。 在插入应用程序的特定代码时,请确保您的应用程序包含小程序结构(包含 AEEApplet);确保使用小程序结构大小调用 AEEApplet_New,而不是使用 AEEApplet 大小调用它。
要继续开发应用程序,请参阅《BREW SDK 用户指南》、BREW 开发者在线 FAQ 和知识库网站、《BREW API 参考资料》、《MIF 编辑器指南》、《资源编辑器指南》以及 BREW SDK 随附的示例应用程序。
推荐阅读
-
本文深入探讨了 Flutter 的核心技术,特别是其混合开发模式,包括统一管理模式和三端分离模式,以及混合栈原理。通过对比不同模式的优缺点,帮助开发者选择最适合项目的混合开发策略。 ...
[详细]
蜡笔小新 2024-11-19 13:48:51
-
Java虚拟机(JVM)是每个Java开发者日常工作中不可或缺的一部分,但其背后的运作机制却往往显得神秘莫测。本文将探讨Java及其虚拟机的发展历程,帮助读者深入了解这一关键技术。 ...
[详细]
蜡笔小新 2024-11-23 08:59:58
-
-
一、项目文件1)Properties节点下主要存放的是当前程序集相关的信息,如版本号、标题等。双击”Properties“,打开如下项目属 ...
[详细]
蜡笔小新 2024-11-18 09:51:05
-
长期从事ABAP开发工作的专业人士,在面对行业新趋势时,往往需要重新审视自己的发展方向。本文探讨了几位资深专家对ABAP未来走向的看法,以及开发者应如何调整技能以适应新的技术环境。 ...
[详细]
蜡笔小新 2024-11-21 18:21:06
-
从理想主义者的内心深处萌发的技术信仰,推动了云原生技术在全球范围内的快速发展。本文将带你深入了解阿里巴巴在开源领域的贡献与成就。 ...
[详细]
蜡笔小新 2024-11-21 09:06:54
-
小编给大家分享一下Vue3中如何提高开发效率,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获, ...
[详细]
蜡笔小新 2024-11-20 15:33:07
-
本文详细介绍如何在微信小程序中实现一个动态且可视化的电影选座组件,提高用户体验。通过合理的布局和交互设计,使用户能够轻松选择心仪的座位。 ...
[详细]
蜡笔小新 2024-11-19 15:36:11
-
探讨低代码行业发展现状,分析其未能催生大型企业的原因,包括市场需求、技术局限及商业模型等方面。 ...
[详细]
蜡笔小新 2024-11-19 14:38:02
-
腾讯云移动推送TPNS(Tencent Push Notification Service)为APP开发者和运营人员提供了一站式、高效、稳定的推送解决方案,帮助提升用户活跃度和运营效率。 ...
[详细]
蜡笔小新 2024-11-18 12:51:42
-
Asynchronous JavaScript and XML (AJAX) 的流行很大程度上得益于 Google 在其产品如 Google Suggest 和 Google Maps 中的应用。本文将深入探讨 AJAX 在 .NET 环境下的工作原理及其实现方法。 ...
[详细]
蜡笔小新 2024-11-22 18:18:57
-
尽管在WPF中工作了一段时间,但在菜单控件的样式设置上遇到了一些基础问题,特别是关于如何正确配置前景色和背景色。 ...
[详细]
蜡笔小新 2024-11-22 15:30:54
-
本文探讨了如何在 Spring MVC 框架下,通过自定义注解和拦截器机制来实现细粒度的权限管理功能。 ...
[详细]
蜡笔小新 2024-11-22 14:35:02
-
本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ...
[详细]
蜡笔小新 2024-11-21 20:16:59
-
本文探讨了在Windows系统中运行Apache服务器时频繁出现崩溃的问题,并提供了多种可能的解决方案和建议。错误日志显示多个子进程因达到最大请求限制而退出。 ...
[详细]
蜡笔小新 2024-11-20 13:07:27
-
本文将深入探讨 Unreal Engine 4 (UE4) 中的距离场技术,包括其原理、实现细节以及在渲染中的应用。距离场技术在现代游戏引擎中用于提高光照和阴影的效果,尤其是在处理复杂几何形状时。文章将结合具体代码示例,帮助读者更好地理解和应用这一技术。 ...
[详细]
蜡笔小新 2024-11-19 18:21:03
-
禁令2502861143
这个家伙很懒,什么也没留下!