280 likes | 487 Views
第四章 BREW SDK 简介. BREW TM Developer Training. 主要内容. Brew SDK 2.X 的构成 安装后的目录结构 重要文件的介绍 Brew SDK API 2.X 的主要功能 八大类功能的详细描述 Brew SDK 相关工具介绍 3 个主要工具和 4 个辅助工具. BREW SDK 2.X 的构成. BREW TM Developer Training. Brew SDK 2.X 的目录结构. Bin: 可执行文件 Bitmaps: SDK 中所使用的图像 Devices: SDK 中默认的手机文件
E N D
第四章 BREW SDK 简介 BREWTMDeveloper Training
主要内容 • Brew SDK 2.X 的构成 • 安装后的目录结构 • 重要文件的介绍 • Brew SDK API2.X 的主要功能 • 八大类功能的详细描述 • Brew SDK 相关工具介绍 • 3个主要工具和4个辅助工具
BREW SDK 2.X的构成 BREWTMDeveloper Training
Brew SDK 2.X 的目录结构 • Bin: 可执行文件 • Bitmaps: SDK中所使用的图像 • Devices: SDK中默认的手机文件 • Docs: 相关文档 • Examples: 例子程序 • Help: 快速帮助文档 • Inc: 所有头文件 • Src: 所引用的源代码
几个需要关心的头文件 • AEEText.h: 获得更多输入法的信息 • AEE.h: 主要的数据结构,常量,类型说明 • AEEError.h: 更多的错误信息 • AEEMimeTypes.h: 所支持的媒体文件后缀 • AEEUsageAppIDs.h:例子程序的头文件 • AEENET.h: 网络相关信息
Brew SDK 中的例子解读 • Helloworld • 入门 • BREW 程序的体系结构 • ExpenseTracker • 输入法 • 算术及PIM管理 • RoadWarrior • IWEB 简例 • HTTP的简单应用
Brew SDK 中的例子解读(续) • Whiteboard • 图形处理相关 • IGraphics接口的使用 • NetDiagnostics • 网络编程 • Socket和HTTP应用 • TCP/UDP的使用 • Mediaplayer • 多媒体及多窗口处理
BREW SDK 的 功能和特性 BREWTMDeveloper Training
BREW API 的特点 • 为多种无线平台提供可移植的标准化的编程环境 • 最小化的实用系统资源 • 可以直接使用电信服务(电话,短信息,地址簿,定位) • 可以直接利用系统资源(多媒体,铃声,墙纸,屏保)
必须掌握的基本概念 • Interface = 提供相关服务的函数集合 • IDisplay, IHeap, IFile, etc. • implementation of functions in interface • Class = 使用函数,管理接口的实体 • ClassID = 每个interface (class) 必备的唯一标识;32-bit 整数 • “Applet” and “application” 可以互换使用 • 从用户角度来看: • BREW应用程序仅仅是一个可执行的应用程序 • 从开发商角度来看: • BREW应用程序仅仅是一个BREW类 • Extension: 相当于自己开发的库 • Sig file: 测试签名和商用签名
API数据结构 • 结构和联合 • Example: IGraphics shape-drawing functions • 枚举类型 • Example: font types supported by IDisplay interface's text-drawing functions • 常量 • Example: BREW menu, time, text and static text controls all have a 32-bit variable used to store control properties, with one bit per property
API帮助函数 • 实现了标准的ANSI C 库函数 • 在应用程序中不能调用标准的C库函数,而是调用API标准函数代替之 • 应用程序可直接调用帮助函数,而不需要接口指针
API 帮助函数的好处 • 减少了不必要的对标准C类库的链接 • 减少了动态应用程序中的不必要的静态数据,使得应用程序可移植 • 例如: void * MEMCPY(void * dest, const void * src, uint16 count); • 提供与memcpy()函数同样的功能:将count个字节的内容,从源(src)复制到目的(dest)。
Shell 服务 Application (open, close, etc.) Timers, alarms, resume, etc. Notifications/signaling (network, etc.) Registry (MIME types, extensions) Resources Position location Dialogs, message boxes, prompts Access to other classes BREW SDK的功能-系统服务 • 应用基础 • IApplet • IModule • IBase • IQuery • 内存管理 • IRamCache • IPeek • IHeap • IClipBoard • 许可和购买信息 • ILicense
基本显示(IDisplay) DrawText MeasureText text metrics Rectangle operations 字体 IFont BREW SDK的功能-用户界面 • UI 组件 • 对话框(Idialog) • 静态文本框(Istatic) • 菜单(ImenuCtl) • 输入文本框(ItextCtl) • 时间的显示 • ITimeCtl • IDateCtl
BREW SDK的功能-文件系统 • 文件系统访问 • 目录的访问 • 文件的访问 • 数据库服务 • Open, read, write, etc. • Variable records • Variable fields • Access to device’s address book and ringer databases • 地址簿服务 • 地址簿访问(IAddrBook) • 记录的访问(IAddrRec)
底层Socket服务 DNS的获取 网络子系统的获取 异步通信 内容的提取 内容的处理 BREW SDK的功能-网络服务 • 基于HTTP的服务 • Web连接的建立与维护 • WEB选项的设定 • Web响应的获得 • 内容的提取 • 内容的处理 • 内容的显示
BREW SDK的功能-多媒体服务 • Graphics (2D) • Polygon draw/fill • Shapes • Sound Player(s)/Media • MP3 • MIDI/CMX • PureVoice (voice memos) • Image support • Pictures • Animation
安全服务 Cipher RSA SSL MD5 BREW SDK的功能-其他服务 • 电信服务 • 电话与短消息(ITAPI) • 语音处理(IVocoder) • 蓝牙 • LBS 服务 • GPSone 定位(IPosDet)
BREW SDK 中的工具 BREWTMDeveloper Training
Brew SDK 中必用的工具 • Brew MIF editor • Bid file, Icons, Privileges, License,dependency… • Brew Resource editor • Strings,Images,Dialog… • Brew Device Configurator • Font, event, heap… • Brew Emulator • Emulation,debug information
Brew SDK 中的其他工具 • 4个资源工具 • Brew compressed Image Authoring Tool • 2Bit Tool • NMEA Logger Tool • PureVoice Converter
工具的综合使用 OEM BREW Device File BREW App App Developer BREW Emulator Resource File 资源辅助工具 MIF
与其它平台的比较 • Brew • 一个应用框架 • 一个端到端的解决方案 • J2ME • 是基于虚拟机的,缺乏对系统资源的直接调用, • Brew 上的J2ME虚拟机已经在国外商用 • PALM • 一个操作系统,在PDA上更为成功 • Brew已经能够在PALM成功移植 • Symbian是一个操作系统 • WinCE是一个操作系统 • Hopen是一个操作系统
本章关键点 • 基本概念回顾 • Brew SDK 所支持的服务 • Brew 的特性 • Brew 的工具
问题回顾 • Helper Function的作用是什么? • Brew API的8大类服务是什么? • Brew中有哪些工具?