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