关于BlackBerry10 Native开发方面的一些知识

本文介绍了BB10平台上的应用开发技术,包括cascades库的使用、应用程序的生存周期管理、应用优化技巧、文件系统限制及数据库支持等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、关于cascades

     cascades是BB10中一个专门的Qt库,提供了许多系统基本组件(Control),它可以用QML形式来写,也可以以C++形式来写,并且QML可以与C++交互(Qt Quick库也可以交互,本质是一样的),只是经过cascades的封装,增加了QML与C++交互方面的一些容易使用的接口。

二、应用程序生存周期

应用程序可视状态分为三种(如上图):

       1. foreground(全屏且正在与用户交互)

       2.background(即active frame状态且用户能看见)

       3.invisible(不可见,比如其它其它程序正在与用户交互、锁屏等)

    应用程序的运行状态分为三种:

       1. foreground可视状态下的应用处于foreground running状态

       2.无后台运行权限的应用在active frame和invisible两种可视状态下为stopped状态

       3.有后台运行权限的应用在active frame和invisible可视状态下处于background running状态

    要使应用有后台运行权限,需要在bar-descriptor.xml中加入下面选项:

    <permission>run_when_backgrounded</permission>

    所以,处于background running状态的应用,是没有 stopped运行状态的,它能继续处理操作和事件。

     在上面几种状态之间切换时,bb::cascades::Application对象会发出状态变化信号:

     1. fullsreen()     应用全屏时

     2.thumbnail()   应用被切换到active frame时

     3.invisible()       应用不可见时     对于background active frame,默认是获取从foreground切换到active frame时的截图界面经过处理后的图像,但用户可以使用setCover()进行设置,当具有后台运行权限时,还可以动态设置。

三、cascades应用优化

    1. 使用Device-Release模式编译,此时编译出来的是library

    2. 将将是需文件编译加入到.qrc编译成资源文件,这样在程序中加载起来快

    3. QML优化。。。。。这内容就多了,比如减少动态加载、减少属性声明等等

    4. 使用assets,即将常用文件放到assets目录中(无论是打包进去,还是放到.qrc中),这样使用时可以用"asset:///xxxx"这样的形式来调用

    5. 创建UI时使用C++而非QML。  不过这一条,虽然能提升性能,但可开发性却大大下降。

四、文件系统    

如上图所示,BB10应用只能运行在自己的sandbox中,即只能访问自己工作目录(working directory)及其子目录下的文件。在上图中,native是app的子目录,assets是native的子目录,books, camera, documents, downloads, misc, music, photos, print, videos, voice都是shared的子目录。workin directory即 可执行文件当前所在目录,也即QDir::current()所返回的目录。app和shared目录下的内容是只读的。只有当应用具有access_shared权限时,才能写shared目录下的内容。用户不能在working directory下创建子目录,应用自己的资源文件(图片、QML、JS、声音等等)应该放在app/native/assets目录下,且是只读的。用户自己的文件,则放在data目录下,这个目录下用户可以创建自己想要的任何文件。db目录存放数据库文件内容。logs目录存放日志输出。tmp目录存放临时文件。QDir::home()返回的是data目录,QDir::temp()返回的是tmp目录。

 

五、关于数据库  

BB10支持Json、XML、SQL格式的数据库,分别提供了JsonDataAccess、XmlDataAccess、和 SqlDataAccess访问的类。

六、其它接口

   BB10还提供了其它诸如广告服务、应用整合(比如与邮件、第三方应用等)、BB社交平台、位置服务、支付服务、个人信息管理、音视频、摄像、传感器、网络服务、提醒服务、推送服务等等。

原文链接:http://www.qtcn.org/bbs/read-htm-tid-52393.html

内容概要:本文档为《400_IB Specification Vol 2-Release-2.0-Final-2025-07-31.pdf》,主要描述了InfiniBand架构2.0版本的物理层规范。文档详细规定了链路初始化、配置与训练流程,包括但不限于传输序列(TS1、TS2、TS3)、链路去偏斜、波特率、前向纠错(FEC)支持、链路速度协商及扩展速度选项等。此外,还介绍了链路状态机的不同状态(如禁用、轮询、配置等),以及各状态下应遵循的规则和命令。针对不同数据速率(从SDR到XDR)的链路格式化规则也有详细说明,确保数据包格式和控制符号在多条物理通道上的一致性和正确性。文档还涵盖了链路性能监控和错误检测机制。 适用人群:适用于从事网络硬件设计、开发及维护的技术人员,尤其是那些需要深入了解InfiniBand物理层细节的专业人士。 使用场景及目标:① 设计和实现支持多种数据速率和编码方式的InfiniBand设备;② 开发链路初始化和训练算法,确保链路两端设备能够正确配置并优化通信质量;③ 实现链路性能监控和错误检测,提高系统的可靠性和稳定性。 其他说明:本文档属于InfiniBand贸易协会所有,为专有信息,仅供内部参考和技术交流使用。文档内容详尽,对于理解和实施InfiniBand接口具有重要指导意义。读者应结合相关背景资料进行学习,以确保正确理解和应用规范中的各项技术要求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值