- 浏览: 194388 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
hao3721:
dsfasd
ehcache 使用 -
nihaokid:
方法是不会存在在对象内存中的,它存在于方法区,建议看看jvm的 ...
Java 深层理解 父类引用指向子类对象 -
vissalan:
有一点没看明白Father f1 = (Father)s;这时 ...
Java 深层理解 父类引用指向子类对象 -
咖啡舞者:
非常感谢这种分享精神.
在BREW中实现自己的GUI(8)-IWEB的封装 -
咖啡舞者:
这是创建的代码。
在设备上调的。
界面在手机和模拟器上显示的差异
首先声明,我不是BREW 高手,我只是一位普通的BR
EW OEM 工作者.只是在自己不断学习BREW 的过程中,
总结了一些学习BREW 的方法,或者说是要学好BREW 应该
一步步怎么走,循序渐进的看些什么,学些什么,现在将
这些心得体会和大家分享,交流。
(注,以下区分OEM 和Developer,OEM 是指手机OEM 厂
商作BREW Porting 的,Developer 是指作BREW 应用开
发的,即CP.每一步都分析对于这两种人的必要性)
1. 对BREW 有最基本,最浅显的了解(通过网站关于
BREW 的新闻,介绍,对BREW 有个非技术角度的总体
概念,知道他出现的用途是什么,在无线移动产业中
处于什么位置,有什么优势等等,BREW 可以用来作些
什么好玩的东东),激发对BREW 的初步热情.
->该步骤同时适合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
5. Mediaplayer.c
6.BREW部分接口源码
4. BREW 面向开发的核心机制的深入熟悉和理解:主
要是事件分发,处理机制,Timer 机制,Alarm 机制,
Notify 机制,Callback 机制,suspend,resume,ba
ckground 等等
->该步骤同时适合OEM,Developer
->参考资料:
1. deep in Event-Driven.pdf(笔者)
2. 深入BREW 消息处理机制.pdf(笔者)
3. SDK 帮助文档
5.BREW 开发代码的熟悉,积累以及SDK API 的熟悉:
主要是通过阅读别人的应用(Example 是一个很好的示例
代码)加深对BREW 接口函数使用的理解,同时再结合自
己的不断锻炼,再结合查阅BREW SDK 帮助文档.使得自
己能加深对BREW 各接口使用的理解,同时积累开发BREW
应用程序的经验 (同时注意有关C++如何开发BREW应用以及注意点)
->该步骤适合Developer,同时适合感兴趣的OEM
->参考资料: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 中
启动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 层实现需要采用异
步机制来调用系统服务,此时将综合运用以上机制,应该
熟悉这些机制.
->参考资料:
1. 深入BREW 抽象接口机制.pdf(笔者)
2. BREW 分层机制阐述.pdf(笔者)
3. PK 相关文档
9.BREW 接口验证机制的学习: 主要是学习PEK 工具
的使用,这样能经常性的来验证BREW 接口Porting 的完
整性.同时PEK 中的OAT 源码也是学习接口使用的很好资
料.通常,对于一个扩展的接口,需要提供扩展的OAT
测试module,所以需要熟悉这些.
->该步骤仅适合OEM
->参考资料:PEK 相关文档
10.BREW UI 机制:主要学习BUIT(现在改名为BUI
W)和UIOne.这两种机制主要用来进行UI 开发.由于B
UIT 大量使用了设计模式,所以初学较难.
->同时适合感兴趣的OEM,Developer
->参考资料:
1. BUIT SDK
2. BUIT Example
3. AppMgr 3.x
11.OEM Notes 的经常性关注:经常性登陆BREW OEM
Extranet 下载BREW OEM Notes,有助于拓宽解决一
些BREW Porting 的方法,思路,即便不是马上能用上,
也积累了一些经验
->仅适合OEM
->参考资料:OEM Extranet 资料
发表评论
-
手机开发平台指南、教程和资料介绍(转载)
2009-05-13 15:58 2569欢迎转载,转载请注明出处。作者:手机即信息 博客:http:/ ... -
Brew中的Module的实现方法
2009-05-13 14:36 1205Brew中的Module的实现方法: 【原创作者:sho ... -
Brew常见错误整理
2009-05-07 16:26 12471.用户是否可以将信息上传到开发商的服务器上来?用户传上来 ... -
BREW-教你设计用户界面
2009-04-24 16:14 1940这个书高通下的pdf, ... -
AppLoader的使用
2009-04-24 16:12 2636AppLoader是Brew Tools Suite3.0. ... -
程序在模拟器中的调试
2009-04-24 16:11 1191通过高通的FAQ知道:DBGPRINTF可以在vc的调试窗口和 ... -
程序在手机上的调试
2009-04-24 16:11 1064仍然通过高通的FAQ知道:DBGPRINTF的内容,当 ... -
浅谈ISocket的使用
2009-04-24 16:10 1746环境:brew sdk3.0中文版 + vc6.0 ... -
WEBOPT中http代理的设置
2009-04-24 16:09 1170原代码如下: awo[i].nId = WEBOPT_ ... -
强大的IWEB接口
2009-04-24 16:08 2090概述 本文着重介绍了在1.1SDK中引入的IWEB接口,以及 ... -
关于音频的播放
2009-04-24 16:06 1443先了解一下brew中可以 ... -
关于文件的读写
2009-04-24 16:05 2239brew中对文件操作需要 ... -
界面在手机和模拟器上显示的差异
2009-04-24 16:04 1710高通告诫我们:程序一定要多多在手机上调试。 刚入门时 ... -
在BREW中实现自己的GUI(8)-IWEB的封装
2009-04-13 17:43 1997封装IWeb其实并不算是GUI的范畴,但是一并说了罢。在BRE ... -
在BREW中实现自己的GUI(7)-动态效果的实现
2009-04-13 17:41 1731今天讨论关于GUI的另一个话题:如何在两个界面切换中表现出比较 ... -
在BREW中实现自己的GUI(6)-单选框与复选框的实现
2009-04-13 17:40 1530还有一个常用的UI控件是单选框与复选框。可惜BREW也不提供, ... -
在BREW中实现自己的GUI(5)-滚动条的实现
2009-04-13 17:38 1250前面做IGStatic时我们用到了一个滚动条组件IGScrol ... -
在BREW中实现自己的GUI(4)-IGStatic的实现
2009-04-13 17:37 1556BREW中的IStatic可以方便地显示一个文本,但是它没有背 ... -
在BREW中实现自己的GUI(3)-做一个跑马灯的效果
2009-04-13 17:37 1643有时如果我们在应用中需要提供一个滚动的信息提示条(类似于页面上 ... -
在BREW中实现自己的GUI(2)-TabPane的实现
2009-04-13 17:35 1259同样是定义一下几个实体结构: //自定义菜单项type ...
相关推荐
总结了一些学习BREW 的方法,或者说是要学好BREW 应该一步步怎么走,循序渐进的看些什么,学些什么,现在将这些心得体会和大家分享,交流。
解析BREW学习 解析BREW学习过程 解析BREW学习过程
Brew各类接口一些API的中文详细解析
修改了MCBXml源码,让它可以用于BREW平台。
BREW解析XML的教程,附带源代码,非常详细,想学习的可以下载了。
brew平台xml文件解析,一共包含三个文件夹。
BREW中解析XML,基于McbXML修改,正常编译通过。
安装BREW3.15的开发环境 15 安装BUIW开发包 15 设备文件 15 环境变量 16 安装ARM编译器 16 安装调试工具 16 安装其它编译工具 16 安装USB驱动程序 16 应用基本规范 16 应用名称规范 17 ...
BREW平台本身没有提供XML解析的API, 此解析器基于开源解析器MCBXML,然后移植到BREW平台,属我的原创。 压缩包里包括移植完成的MCBXML头文件和c文件,另外提供了一段代码(只包括.c文件,其它的需要自己创建)和一个...
关于brew applet框架解析,如何一个mod对应多个applet
BREW的API(应用程序接口)和SDK(软件开发工具)极大地简化了用C 、C++和其它语言开发无线应用。BREW的API以一组接口类的方式组织起来,每个类定义提供某一特定服务的一组函数,使开发商无需了解设备的内部机理也能从事...
brew install mysql-connector-c 但是报错: 查看报错信息,在安装 mysql-connector-c 前先 brew unlink mysql 但是继续安装还是报错: 查看官方说明,原来在 macOS 下需将 mysql_config 中的 # on mac
将突出显示的文本转换为常用于自制的不同单位 在上下文菜单中为常用单位之间的自制设置转换突出显示的文本。如果所选文字包含单位,则能够... *如果单元和值之间没有空格,则修正不正确的解析 支持语言:English (UK)
使用朴素的贝叶斯学习方法从每个收款人中识别帐户,将CSV档案中的会计交易导入Ledger。 受Reckon Ruby宝石的启发。 Ledger是一个功能强大的两次记帐系统,可从UNIX命令行访问。 依存关系 和NPM 安装分类帐 安装...
----------------------------------- Android 编程基础 1 封面----------------------------------- Android 编程基础 2 开放手机联盟 --Open --Open --Open --Open Handset Handset Handset Handset Alliance ...
语言:English (UK) 将高亮显示的文本转换为家庭酿造常用的不同单位 ...公制->英制或英制->公制0.6的变化*检测单位名称的复数*将Lovibond和EBC添加到已知转换0.5的变化*如果单位和值之间没有空格,则修复错误的解析
brew安装gnu-getopt brew安装pandoc pandoc-版本2.9.2
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, ...
要求安装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 Duckling 是一个 Haskell 库,可将文本解析为结构化数据。 "十月的第一个星期二" => {"value":"2017-10-03T00:00:00.000-07:00","grain":"day"} 要求 需要 Haskell 环境。 我们建议使用堆栈。 在 ...