研习之前不免会产生许多的想法,比如BREW是做什么的?可以和现有的平台作什么比较?如果可以的话,那它和J2EE、symbian、WinCE、EMP有什么区别和联系?它的流程和处理机制又是怎样的呢?
首先,高通的官方解释就是Binary Runtime Environment for Wireless,我们就可以知道它是用于无线通讯设备的高效的运行时集成开发环境。整个的BREW系统是由开发平台、运行平台、服务器三个部分组成的。开发平台就是我们所说的BREW SDK,用来在PC端开发可以在平台上运行的程序。运行平台则是可以运行在移动终端上的BREW运行环境,它的核心是Porting Kit。服务器是连接开发平台和运行平台的枢纽,开发平台开发出来的BREW程序放在服务器上,以便运行平台的用户通过无线网络下载该应用程序,其核心是ADS(Application Download Server)服务器,ADS和其他的辅助工具统称为BDS(BREW Distribution System)系统。
图1 BREW三要素之间的关系
其实对BDS系统我还没有深入的了解,以后有机会的话也许可以在此深入一下了。
BERW的系统结构不过如此,不过对于一般的开发者来说更希望了解多一些有关SDK方面的东西,目前SDK最新的版本是3.1,详细可以去这里http://brew.qualcomm.com/brew/en/developer/support/developer_support.html下载,它主要是有7个部分组成的。
1. BREW AEE 可扩展的面向对象的应用程序开发和执行环境。
2. BREW Emulator
3. Device Configurator
4. Resource Editor
5. MIF Editor
6. BREW 头文件
7. Visual Studio插件
不过在2.1以前,其中的大部分甚至全部都一起打包在SDK中,不过3.0以后就分开了,需要的时候可以去官网查询,记住这个地址很有用http://www.qualcomm.com 其次,也就是这两天总结的一些小的结果,毕竟现在是学习的阶段,暂时还没有很多自己的思想,我想如果时机成熟的话还是会领悟一些更多的东西的。
BREW应用程序的流程是怎么样的呢!大略的可以分为三点,由于BREW是出于事件驱动的机制,只有当触发事件被捕获的时候才能继续,这就需要AEEClassCreatInstance()来做这个事情了,他的引用是AEEModGen.c,然后会使用AEEApplet_new()来创建一个小程序的实例,通过这个实例来控制对事件的处理,最后,在***_HandleEvent()里来处理这些Applet的事件。
在其中请记住最重要的几个函数:
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1327ab569c1ae82736693a50b8e33378.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1327ab569c1ae82736693a50b8e33378.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/0196c3df5ea9e936f21e9932cca91014.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1327ab569c1ae82736693a50b8e33378.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/7ff8d92cded7e0ce15e7ca1acc870052.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/717446ca04a6125dc5b6b54e0fa14ab4.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/0196c3df5ea9e936f21e9932cca91014.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)