当前位置: 首页 > news >正文

《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之55---BREW SDK 个版本的区别(上)...

BREW1.0的功能有限,而BREW1.1 则丰富了很多。BREW1.1首次引入了安全类服务,ICipher可以简单加解密信息,IHash实现数据的离散化,通过IRSA 实现非对称安全算法。BREW1.1提供了对地址本的支持(IAddrBookIAddrRec),将地址本作为数据库的特例,同时铃声的支持(IRingerMgr)使BREW应用可以直接将音乐文件设置为手机铃声,更重要的是引入了位置服务接口IPosDet, 极大的丰富了BREW的应用的种类。

内存管理方面,BREW1.1引入了三个新接口IPeek, ISource ISourceUtil来处理流数据。针对互联网服务,BREW1.1给出了IWebIWebOpts以及IHtmlViewer使应用可以轻松访问互连网上的HTTP服务器并显示基本的HTML页面。BREW1.1中的ILicense接口允许应用能控制自身的用户使用权限,使资费方案更加灵活,而IQueryInterface则提供了获取接口的另一种方法。

在我国,第一商用的版本是2.0BREW 2.0 开始提供对蓝牙的支持(IBTAGIBTSDPIBTSIOPORT),遗憾的是在BREW中可以使用蓝牙功能的手机一直没有在中国上市。在显示方面,IFont可以测量和重绘文字,应用可以针对不同的内容显示不同的字体。

针对多媒体服务,IMediaBREW中所有多媒体对象的基类。在图像处理方面,通过IBitmap接口可以将内存中的位图直接在屏幕上操作,IDIB继承于IBitmap实现了一个与设备无关的位图结构,ITransform则可以实现对位图缩放、旋转等复杂一些的图像处理。IImageCtl可以在一个带滚动条的框架中浏览图像,并且获得图像的属性信息。ISprite接口实现了类似photoshop中的图层概念,可以方便的叠加和重绘图形。

对于系统服务中的内存管理,IClipboard能够是应用完成标准的copypaste功能,不同应用间可以使用IClipboard来实现共享内存。IRamCache提供了最近最少使用页面置换算法,是为虚拟页式存储管理服务的,通过堆存储区满足了TTL机制中的缓存功能。内存的虚拟存储管理,是现在最通用,也是最成功的方式—— 在内存有限的情况下,扩展一部分外存作为虚拟内存,真正的内存只存储当前运行时所用得到信息。这无疑扩充了内存的使用效率,极大地提高了CPU的并发度。虚拟页式存储管理,则是将进程所需空间划分为多个页面,内存中只存放当前所需页面,其余页面放入外存的管理方式。另外,BREW 2.X中的IUnzipAStream支持流数据的解压缩和存储。

对于电信服务,IVocoder可以捕捉和播放话音信道鹅的内容以及其他的音频文件。

对于网络服务,IDNS开始联网应用提供 DNS 查询功能。

对于安全服务,BREW2.0开始提供信道安全方法,ISSL支持SSL/TLS的网络连接,IX509Chain被用来管理和验证X.509 的证书链,IHashCTX进一步强化了hash数据的处理功能。也就是说,到了BREW2.0BREW所提供的9大类服务基本成型。

BREW2.1对于多媒体服务中的三维图像处理提供了支持(I3DI3DModelI3DUtil),但由于效果不太理想,在更高版本中废弃了这三个接口。同时,BREW2.1提供了对open GL ES 的支持(图11-11)。

BREW3.x相对于BREW2.x 有了很大的变化,重写了很多接口的内部实现。3.0作为一个过渡版本没有在中国商用,BREW3.1.5是一个稳定的商业版本,而BREW3.1.5SP01则进一步增强了BREW3.1.5的功能并解决了其中存在的一些问题。

多媒体服务方面,IBitmapDev提供了众多的方法来处理设备位图。通信服务方面,IPort提供了一个通用的接口来实现双向数据流的收发。系统服务方面,IAClockCtl允许创建模拟时钟的显示,IRscPool可以管理资源被访问的生命周期。IThread提供了类似多线程的方法,使并行处理更加方便。网络方面,IWebEng允许用户开发自己的协议栈(基于客服端/服务器模式的协议栈)。

文件系统服务方面,爱上支持4GB以上的文件空间,支持MMC/SD等外存卡的读写,统一了图片/音乐/视频/主题/文字/声音/链接文件路径,增加了ACL目录访问权限控制。BREW 3.X中的资源管理提供了控制资源访问的一般方法,能够协调和管理资源的获取和释放,当资源状态发生变化时向注册的相关对象发送通知,并可以动态地判定一个应用使用相关资源时的优先级(图11-12)。

同时,BREW3.X支持复杂短信功能,完全实现短信协议 IS-637。就短信收发而言,可以对短信属性配置和读取接收方号码(MO),发送方号码(MT),时间信息等属性,短信内容包括ASCIIUNICODEBINARY。就短信管理而言,可以在手机和RUIM卡上存储和读取短信,删除短信,更新短信,实现统一的管理。

相关文章:

  • 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之56---BREW SDK 个版本的区别(下)...
  • 关于eclipse 与 mysql 交互的乱码问题
  • 电脑护眼色?
  • wamp里的数据库修改密码
  • java环境变量配置
  • 编程基础-字符篇-(2)
  • Eclipse提示内存太小,可设置参数
  • We7 CMS 2.8版本正式发布
  • 增强Eclipse(MyEclipse)输入代码提示功能
  • nginx命令
  • myeclipse 插件安装方法
  • 集成轻量级的IIS实现打包Asp.Net网站生成exe方便快捷的进行客户演示
  • 阿里土话------记录职场经典语录
  • 数据结构与算法分析学习笔记(二)--AVL树的算法思路整理
  • ArcGIS Flex API 2.0 离线参考
  • 实现windows 窗体的自己画,网上摘抄的,学习了
  • (三)从jvm层面了解线程的启动和停止
  • Apache Pulsar 2.1 重磅发布
  • Bytom交易说明(账户管理模式)
  • ESLint简单操作
  • JavaScript-Array类型
  • Java精华积累:初学者都应该搞懂的问题
  • MYSQL如何对数据进行自动化升级--以如果某数据表存在并且某字段不存在时则执行更新操作为例...
  • nodejs:开发并发布一个nodejs包
  • PV统计优化设计
  • Python 反序列化安全问题(二)
  • Python实现BT种子转化为磁力链接【实战】
  • Vue 2.3、2.4 知识点小结
  • 创建一个Struts2项目maven 方式
  • 大主子表关联的性能优化方法
  • 对象引论
  • 基于axios的vue插件,让http请求更简单
  • 基于webpack 的 vue 多页架构
  • 三分钟教你同步 Visual Studio Code 设置
  • 手写一个CommonJS打包工具(一)
  • 微信小程序上拉加载:onReachBottom详解+设置触发距离
  • 我感觉这是史上最牛的防sql注入方法类
  • 物联网链路协议
  • 异常机制详解
  • Hibernate主键生成策略及选择
  • 支付宝花15年解决的这个问题,顶得上做出十个支付宝 ...
  • 智能情侣枕Pillow Talk,倾听彼此的心跳
  • ​Z时代时尚SUV新宠:起亚赛图斯值不值得年轻人买?
  • #162 (Div. 2)
  • #QT(智能家居界面-界面切换)
  • (12)Linux 常见的三种进程状态
  • (6)添加vue-cookie
  • (C语言)fread与fwrite详解
  • (附源码)springboot“微印象”在线打印预约系统 毕业设计 061642
  • (附源码)ssm学生管理系统 毕业设计 141543
  • (六)库存超卖案例实战——使用mysql分布式锁解决“超卖”问题
  • (续)使用Django搭建一个完整的项目(Centos7+Nginx)
  • (转)C#调用WebService 基础
  • (转)甲方乙方——赵民谈找工作
  • (转)利用ant在Mac 下自动化打包签名Android程序