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

一、关于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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值