当前位置:文档之家› 实验 手册范本

实验 手册范本

实验 4.1练习 1:在 Brew MP Simulator 6 中运行样例应用程序在 Brew MP Simulator 6 中运行样例程序应用程序:1.从“开始”菜单中,启动适用于 Qualcomm Brew MP SDK 的Brew MP SDK Manager。

2.在 SDK Manager 中,要显示制作工具和运行时工具,请单击“工具”选项卡。

3.启动 Target Manager。

4.单击“翻盖手机”设备配置文件,然后单击“创建目标”。

5.当提示您输入“目标名称”时,保留默认名称,然后单击“继续”。

6.在“Simulator 目标”窗口中,双击“翻盖手机”。

7.在模拟设备上,启动AppManager。

8.选择 C Localized App 应用程序。

使用鼠标模拟设备上的按键功能。

9.要退出应用程序,请按“电源(结束)”。

10.在 AppManager 中,尝试其他应用程序。

11.完成后,关闭 Simulator 和Target Manager。

练习 2:从 Visual Studio 安装样例源代码并运行 Simulator将样例应用程序源代码安装到便携式计算机上:1.从“开始”菜单中,启动 BrewMP SDK Manager。

2.要显示工具组和平台,请单击“设置”。

3.在“工具组” “可选组件”中,单击“安装”安装样例程序。

4.按照向导窗口中的提示进行操作。

请注意安装文件的位置。

使用安装的源代码打开项目:1.在 Visual Studio 中,单击“文件”→“打开”→“项目/解决方案”。

2.导航到已安装的源代码,选择c_basicapp_VS<version>.vcproj ,然后单击“打开”。

3.在 Visual Studio SolutionExplorer 窗格中,导航到“源文件”目录,然后双击c_basicapp.c 加载文件。

4.在 Visual Studio 中,使用Brew MP 插件工具栏执行以下操作:A.选择“模拟目标”作为目标类型B.选择 Brew MP 目标C.单击“运行”→Brew MP 将启动 Simulator 并运行应用程序。

→如果已经打开 Simulator,它可能在另一个窗口后面运行。

完成本实验后,您将:▪在 Target Manager 中创建了设备配置文件,其特定于所需的 Brew MP SDK 版本▪根据新创建的 Brew MP 目标配置文件运行了样例应用程序▪将源代码从样例应用程序安装到便携式计算机中▪在 Visual Studio 中打开了一个源代码项目▪从 Visual Studio 窗口在Simulator 上生成并运行了应用程序实验 4.2练习 1-运行 Brew MP 应用程序向导生成 Brew MP 应用程序:1.启动 Visual Studio2.选择“文件”→“新建”→“项目”。

3.在“项目类型”中,选择“Brew MP”。

4.在“Visual Studio 已安装的模板”下,选择“C 应用程序”。

5.在“名称:”字段中,输入“myapp ” 。

6.单击“浏览”,导航至C:\Documents andSettings\<username>\MyDocuments\Visual Studio<version>\Projects。

7.单击“确定”。

练习 2-查看源文件熟悉 Brew MP 应用程序编程基础知识:1.在 Visual Studio 的Solution Explorer 中,展开“头文件”文件夹。

打开 myapp.bid文件。

此文件在 AEECLSID_MYAPP 常量中定义了应用程序的名称,并为其分配了十六进制值类 ID。

2.打开 myapp_res.h 文件。

此文件定义了 MYAPP_RES_.H 头文件常量、MYAPP_RES_FILE(作为myapp.bar)、此应用程序使用的对应资源文件以及IDS_STRING_1001(作为对 ID 值为 1001 的文件中字符串资源的引用)。

3.展开“资源文件”文件夹。

打开 myapp.car 文件。

此文件包含资源文件中所含资源的名称、ID、类型和数据。

4.打开 myapp.cif。

此文件标识各种重要模块资源,包括包含应用程序 AEECLSID 的myapp.bid 文件。

也可用它标识应用程序和应用程序使用的任何MIME 类型处理程序所使用的应用程序扩展。

5.打开 myapp_ico.png。

此文件是为该应用程序创建的默认图标,将显示在 Simulator 和设备的 App Manager 中。

6.展开“源文件”文件夹。

请注意存在以下两个文件:AEEMODGEN-包含模块接口定义AEEAPPGEN-包含Applet接口定义这两个源文件提供了所有模块和Applet接口及类的定义,所有MOD Applet项目必须具有这两个源文件。

7.打开 myapp.c。

8.找到“Include 和变量定义”部分。

本部分包括各种类和接口的所有头文件。

9.找到 myapp 结构。

此数据结构是必需的,它定义了用于保存所有大型变量、全局变量和接口声明的数据结构。

10.找到 AEEClsCreateInstance() 函数。

此函数可基于应用程序的AEECLSID 创建应用程序。

11.找到 FreeAppData() 函数。

此函数被用作析构函数,可在应用程序关闭时释放所创建的资源和接口。

12.找到 myapp_HandleEvent() 函数。

Brew MP 使用事件驱动型模型,此函数可提供与应用程序交互的主要方式。

13.找到 myapp_DrawScreen() 函数。

此函数由myapp_HandleEvent() 函数调用,用作 EVT_APP_START 事件的返回函数,它会调用 IDisplay 接口以绘制到屏幕。

此函数也使用ISHELL_LoadResString 从myapp.bar 资源文件加载文本字符串。

注意:这些接口和函数将在下面几节讨论。

有关详细信息,请参见 SDK Manager“资源”页面上的API Reference(《API 参考》)。

练习 3-使用资源文件1.在 Visual Studio 中,打开myapp 项目(如果尚未打开)。

2.从 Brew MP 工具栏中,选择“启动 Brew MP 工具”,然后选择“Resource Manager”。

3.在 Resource Manager 中,选择“文件”→“打开”,导航到练习 1 中创建的 myapp 项目文件夹。

找到 myapp.car 文件,然后单击“打开”。

4.在“编辑数据”字段中,将“Hello World”更改为“Hello<name>”,其中“<name>”是您的名字。

完成本实验后,您将:▪使用应用程序向导创建新的 Brew MP MOD 应用程序▪浏览新创建应用程序的源文件▪使用 Resource Manager 编辑应用程序 CAR 文件▪重新编译应用程序并在 Simulator 中运行以查看带有您名字的字符串Hello实验 4.3练习 1-向 myapp 应用程序添加ISettings 接口此项目使用 ISettings 接口读取设备的语言设置并在 Simulator 的输出窗口中返回该设置。

1.打开 SDK Manager。

2.使用API Reference guide (《API 参考指南》)(可从 SDK manager 的“资源”选项卡中找到)查找要包括在项目中的头文件。

3.启动 Visual Studio,然后打开 myapp 项目(如果尚未打开)。

4.导航至 myapp.c 的“Include 和变量定义”部分。

5.编写语句,以包括在步骤 2 中找到的 ISettings 头文件。

6.读取和更改设置时,ISettings 接口使用注册表对象提供通知。

要确保提供此功能,请将以下语句添加到“Include 和变量定义”部分:#include "AEESettingsReg.bid"7.将 ISettings 对象的指针添加到Applet结构中的接口。

使用IDisplay 指针作为线索,以确保语确。

8.导航到 FreeAppData 函数,添加所需代码以释放接口。

9.生成项目并检查错误。

注意:直到完成下一练习后,本实验中的代码更改才会显示在 Simulator 中。

练习 2-使用 ISettings 检索语言设置1.本练习使用 DBGPRINTF 助手函数和部分 AEEStdLib 库。

请将头文件添加到 myapp.c 源文件的“Include 和变量声明”部分。

2.在 myapp.c 源文件中,导航到myapp_HandleEvent 函数。

此项目使用 EVT_KEY switch 来响应在设备上按下“选择”键的操作。

此键的 wParam 是AVK_SELECT。

有关事件处理的更多信息,请参见《API 参考指南》。

有关事件代码的完整列表,请参见 AEEVCodes.h 头文件。

3.添加代码以在 InitAppData 中创建 ISettings 接口的实例。

确保实例已创建。

if (AEE_SUCCESS !=ISHELL_CreateInstance(pMe->piShell,AEECLSID_SettingsReg, (void **)&pMe->piSettings)){DBGPRINTF("Failed to create ISettings object");pMe->piSettings = NULL;return FALSE; // Failureoccurred}4.在 EVT_KEY 下输入一个switch 以将 AVK_SELECT 作为wParam 进行处理。

switch(wParam) {case AVK_SELECT: {// Add code here... }return TRUE;default:return FALSE;}5.在大括号之间,添加一个 int变量来保存接口创建结果。

int nRes;6.创建一个缓冲区来保存ISettings 查询结果。

如果函数失败,缓冲区将保存错误消息。

char szCurrCode[20];7.将活动设备的语言设置加载到缓冲区。

验证是否已检索到语言。

如果未检索到语言,则在 nRes 变量中提供反馈。

nRes = ISettings_Get(pMe->piSettings,"/BREW/UI/Language", // Key to get setting-value(char*)&szCurrCode,sizeof(szCurrCode), // Buffer size for setting value NULL);if (AEE_SUCCESS != nRes) {return TRUE; // Event handled regardless of error }DBGPRINTF("Current language is:%s", szCurrCode);8.要生成应用程序并在Simulator 中运行,请单击“运行”。

相关主题