`

BREW 学习之路-解析BREW 学习过程

    博客分类:
  • brew
阅读更多

首先声明,我不是BREW 高手,我只是一位普通的BR
EW OEM 工作者.只是在自己不断学习BREW 的过程中,
总结了一些学习BREW 的方法,或者说是要学好BREW 应该
一步步怎么走,循序渐进的看些什么,学些什么,现在将
这些心得体会和大家分享,交流。

JAVA手机网[www.cnjm.net]

(注,以下区分OEM 和Developer,OEM 是指手机OEM 厂
商作BREW Porting 的,Developer 是指作BREW 应用开
发的,即CP.每一步都分析对于这两种人的必要性)
1. 对BREW 有最基本,最浅显的了解(通过网站关于
BREW 的新闻,介绍,对BREW 有个非技术角度的总体
概念,知道他出现的用途是什么,在无线移动产业中
处于什么位置,有什么优势等等,BREW 可以用来作些
什么好玩的东东),激发对BREW 的初步热情.

JAVA手机网[www.cnjm.net]

->该步骤同时适合OEM,Developer
->参考资料:
1. 请baidu 上进行BREW 关键字搜索
2. BREW Overview.pdf
2. 进行BREW 最基本的技术层次的学习(对BREW 最
基本的事件驱动机制的了解,如何创建接口,clsid
是什么?如何一步步用vc 开发一个动态应用,每一步
骤的作用,resource,mif 工具的使用,helloworld
程序如何被创建,如何进行事件处理的大致流程,如
何将BREW 动态应用转变为mod 文件下载到手
机.....等等等等,这些基本的内容可以通过一
般的BREW 文档学习到,qualcomm 网站上有一篇很好
的brew 基本知识学习文档,study brew from sc
ratch,另外网上有两本关于BREW 的英文ebook,也
可作为入门资料,有一本BREW 手机游戏开发的中文书
也可以作为该阶段的入门资料)
->该步骤同时适合OEM,Developer
->参考资料:
1. brew_app_from_scratch.pdf
2. BREW Programming guide(海信).pdf
3. starting_brew.pdf
4. 深入BREW 游戏开发
5. Apress.Developing.Software.for.the.QUAL
COMM.BREW.Platform.eBook-LiB.rar
6. Wordware.Wireless.Game.Development.In.C.
Cpp.With.BREW.eBook-LiB.chm
3. 深入理解BREW 接口机制:BREW 采用面向对象的
接口体系结构对外提供服务.理解接口机制将有助
于理解调用所谓的接口API(实际上是宏映射)是如
何最终调用到AEE 层的真正函数,定义一个接口究竟
底层作了什么,BREW 中的接口究竟是如何创建的等等
(该机制非常非常好的学习文档是aee.h 和example
下的mediaplayer,aee.h 里的宏,就是接口机制的实
现手段,mediaplayer 更是将brew 的接口机制发挥的
淋漓尽致)
->该步骤适合有兴趣的Developer,因为并非所有的D
eveloper 需要知道接口机制,将IXXX_XXX 理解为真正的
函数,熟练的运用他们,而不知道他们的底层实现机制也
不会妨害Developer 的开发,但是对于需要开发Extenti
on Interface 的Developer,理解BREW 接口机制是必须
的. 该步骤对于OEM 而言是必须的.因为如果不理解B
REW 接口机制的话,BREW OEM 所作的Porting 或者Modi
fy 是盲目的,因为你根本不明白上层调用所谓的接口函
数最终是如何映射到底层的,这样你无法清晰地发现,问
题究竟在哪里?而对于Porting 新的Static Extention
Interface,则更加必须掌握接口机制,比如IIMAGE,
IMEDIA 这两个抽象接口的OEM 层新format 接口的Porti
ng,你必须掌握接口机制,否则你不可能自己去实现一个
接口,让上层很好的调用.
->参考资料:
1. BREW_Architecture_Extensions.pdf
2. BREW 究竟是什么-BREW 本质之我见.pdf(笔者)
3. deep in BREW’s Interface .pdf(笔者)
4. AEE.h

JAVA手机网[www.cnjm.net]

5. Mediaplayer.c
6.BREW部分接口源码
4. BREW 面向开发的核心机制的深入熟悉和理解:主
要是事件分发,处理机制,Timer 机制,Alarm 机制,
Notify 机制,Callback 机制,suspend,resume,ba
ckground 等等

JAVA手机网[www.cnjm.net]

->该步骤同时适合OEM,Developer
->参考资料:
1. deep in Event-Driven.pdf(笔者)
2. 深入BREW 消息处理机制.pdf(笔者)

JAVA手机网[www.cnjm.net]

3. SDK 帮助文档

JAVA手机网[www.cnjm.net]

5.BREW 开发代码的熟悉,积累以及SDK API 的熟悉:

JAVA手机网[www.cnjm.net]

主要是通过阅读别人的应用(Example 是一个很好的示例
代码)加深对BREW 接口函数使用的理解,同时再结合自
己的不断锻炼,再结合查阅BREW SDK 帮助文档.使得自

JAVA手机网[www.cnjm.net]

己能加深对BREW 各接口使用的理解,同时积累开发BREW
应用程序的经验 (同时注意有关C++如何开发BREW应用以及注意点)
->该步骤适合Developer,同时适合感兴趣的OEM

JAVA手机网[www.cnjm.net]

->参考资料:SDK 帮助文档以及别人的应用源码
6.进行(你负责的或者是感兴趣的)BREW 模块(接口)
的深入学习:这是OEM 的重要学习内容,原则上对一个模
块的真正学习,应该包括:从整体上把握该接口的作用,
它为开发者提供了什么功能,开发者利用它能做什么?从
开发者的角度,最典型的使用该接口的方法和顺序(过程)
是如何的?该接口的AEE 层(如果看的到代码的话)和O
EM 层是具体如何实现的,这点的学习有助于清楚该接口
对外提供的服务在底层是究竟如何实现的?如果该接口
存在异步调用系统服务的话,它和系统是如何交互的,如
何进行异步service 的调用?如果该接口是一个抽象接
口,具体实现在OEM 层的话,要清楚该接口实现的特点,
如何扩展该接口
->原则上只适合OEM,因为Developer 是看不到代码的.
->参考资料:
1. SDK 帮助文档
2. QCT Release 的BREW 平台代码 (主要是各Interface的具体实现)
7.BREW 模块加载,应用启动机制学习:可以通过AEEM
odGen.c,AEEAPPGen.c 以及mod 文件的makefile 深入学
习BREW App 的创建过程,Module 的加载过程
->该步骤同时适合OEM,Developer,对于OEM,因为存
在写静态应用的可能性,所以对于静态应用加载的特殊过
程(需要提供的特殊load)需要熟悉.
->参考资料:
1. AEEModGen.c,AEEAppGen.c,makefile of mod
2. 深入BREW 模块加载机制.pdf(笔者)
8.BREW 面向OEM 的核心机制学习:学习如何在Task 中

JAVA手机网[www.cnjm.net]

启动BREW,BREW 事件如何分发,启动,关闭一个BREW
应用的整个过程,oem_notify 机制,抽象接口机制,Int
erface Register 机制,BREW 分层概念,app stack,如
何传递Key Event,App Context,Memory Manager,
Object Manager,Callback,Systemcallback,System
Object 等等面向OEM 层的BREW 核心机制
->该步骤仅适合OEM,因为Developer 不可能使用这些
机制.对于OEM,通常某些接口的OEM 层实现需要采用异
步机制来调用系统服务,此时将综合运用以上机制,应该
熟悉这些机制.
->参考资料:

JAVA手机网[www.cnjm.net]

1. 深入BREW 抽象接口机制.pdf(笔者)
2. BREW 分层机制阐述.pdf(笔者)
3. PK 相关文档
9.BREW 接口验证机制的学习: 主要是学习PEK 工具

JAVA手机网[www.cnjm.net]

的使用,这样能经常性的来验证BREW 接口Porting 的完
整性.同时PEK 中的OAT 源码也是学习接口使用的很好资
料.通常,对于一个扩展的接口,需要提供扩展的OAT
测试module,所以需要熟悉这些.

JAVA手机网[www.cnjm.net]

->该步骤仅适合OEM
->参考资料:PEK 相关文档
10.BREW UI 机制:主要学习BUIT(现在改名为BUI
W)和UIOne.这两种机制主要用来进行UI 开发.由于B
UIT 大量使用了设计模式,所以初学较难.
->同时适合感兴趣的OEM,Developer
->参考资料:
1. BUIT SDK
2. BUIT Example
3. AppMgr 3.x

JAVA手机网[www.cnjm.net]

11.OEM Notes 的经常性关注:经常性登陆BREW OEM
Extranet 下载BREW OEM Notes,有助于拓宽解决一

JAVA手机网[www.cnjm.net]

些BREW Porting 的方法,思路,即便不是马上能用上,
也积累了一些经验

JAVA手机网[www.cnjm.net]

->仅适合OEM
->参考资料:OEM Extranet 资料

分享到:
评论

相关推荐

    BREW高手之路-解析BREW学习过程

    总结了一些学习BREW 的方法,或者说是要学好BREW 应该一步步怎么走,循序渐进的看些什么,学些什么,现在将这些心得体会和大家分享,交流。

    解析BREW学习过程

    解析BREW学习 解析BREW学习过程 解析BREW学习过程

    Brew-API参考资料(中文)

    Brew各类接口一些API的中文详细解析

    可用于BREW平台的XML解析器

    修改了MCBXml源码,让它可以用于BREW平台。

    XML解析brew的源代码

    BREW解析XML的教程,附带源代码,非常详细,想学习的可以下载了。

    xml解析brew

    brew平台xml文件解析,一共包含三个文件夹。

    BREW XML 解析

    BREW中解析XML,基于McbXML修改,正常编译通过。

    Qualcomm平台BREW开发技术文档

     安装BREW3.15的开发环境 15  安装BUIW开发包 15  设备文件 15  环境变量 16  安装ARM编译器 16  安装调试工具 16  安装其它编译工具 16  安装USB驱动程序 16 应用基本规范 16  应用名称规范 17 ...

    XML parser for BREW

    BREW平台本身没有提供XML解析的API, 此解析器基于开源解析器MCBXML,然后移植到BREW平台,属我的原创。 压缩包里包括移植完成的MCBXML头文件和c文件,另外提供了一段代码(只包括.c文件,其它的需要自己创建)和一个...

    brew applet框架分析

    关于brew applet框架解析,如何一个mod对应多个applet

    解析BREW的体系结构

    BREW的API(应用程序接口)和SDK(软件开发工具)极大地简化了用C 、C++和其它语言开发无线应用。BREW的API以一组接口类的方式组织起来,每个类定义提供某一特定服务的一组函数,使开发商无需了解设备的内部机理也能从事...

    Mac 安装 mysqlclient过程解析

    brew install mysql-connector-c 但是报错: 查看报错信息,在安装 mysql-connector-c 前先 brew unlink mysql 但是继续安装还是报错: 查看官方说明,原来在 macOS 下需将 mysql_config 中的 # on mac

    酿造转换「Brew Convert」-crx插件

    将突出显示的文本转换为常用于自制的不同单位 在上下文菜单中为常用单位之间的自制设置转换突出显示的文本。如果所选文字包含单位,则能够... *如果单元和值之间没有空格,则修正不正确的解析 支持语言:English (UK)

    node-ledger-import:将会计交易从CSV文件导入到账本格式

    使用朴素的贝叶斯学习方法从每个收款人中识别帐户,将CSV档案中的会计交易导入Ledger。 受Reckon Ruby宝石的启发。 Ledger是一个功能强大的两次记帐系统,可从UNIX命令行访问。 依存关系 和NPM 安装分类帐 安装...

    新版Android开发教程.rar

    ----------------------------------- Android 编程基础 1 封面----------------------------------- Android 编程基础 2 开放手机联盟 --Open --Open --Open --Open Handset Handset Handset Handset Alliance ...

    Brew Convert-crx插件

    语言:English (UK) 将高亮显示的文本转换为家庭酿造常用的不同单位 ...公制->英制或英制->公制0.6的变化*检测单位名称的复数*将Lovibond和EBC添加到已知转换0.5的变化*如果单位和值之间没有空格,则修复错误的解析

    BriskCTF:https

    brew安装gnu-getopt brew安装pandoc pandoc-版本2.9.2

    jacoco-parser:用Kotlin脚本编写的JaCoCo xml报告解析器

    brew install jdsingh/repo/jacoco-parser 用法 jacoco-parser report.xml 尝试jacoco-parser --help 文本 默认 jacoco-parser report.xml Module: feature-payment-detail Type: INSTRUCTION, Covered: 3166, ...

    supreme-court-transcripts:试图解析最高法院口头辩论笔录

    要求安装pdftk: : brew install qpdf安装qpdf: brew install qpdf安装poppler: brew install poppler获取成绩单mkdir raw pdf jsonnpm install# Scrape 2010-2014 transcriptsnode scrape.js# Remove empty ...

    Duckling: 一个将文本解析为结构化数据的Haskell库-python

    Duckling Duckling 是一个 Haskell 库,可将文本解析为结构化数据。 "十月的第一个星期二" => {"value":"2017-10-03T00:00:00.000-07:00","grain":"day"} 要求 需要 Haskell 环境。 我们建议使用堆栈。 在 ...

Global site tag (gtag.js) - Google Analytics