BB10 Cascades Beta2开发环境提供了多个样例,为了更好地理解不同样例,我们可以分析一下最简单的样例,从而了解BB10 Cascades应用的基本框架。
BB10 Cascades Beta2中通过“File -> New -> BlackBerry Cascades c++ Project”创建,在选择模板时选择“Standard empty project”就可以了,具体细节参见之前的博文。
该样例运行起来是一个白色屏幕,屏幕上有“Hello World”字样。
样例的入口在src目录的main.cpp文件中,代码很简单,如下:
#include"app.hpp"
#include<bb/cascades/Application>
#include<QLocale>
#include<QTranslator>
using ::bb::cascades::Application;
int main(int argc, char **argv)
{
//-- this is where the server is started etc
Application app(argc, argv);
//-- localization support
QTranslator translator;
QString locale_string = QLocale().name();
QString filename = QString( "FirstHello_%1" ).arg( locale_string );
if (translator.load(filename, "app/native/qm")) {
app.installTranslator( &translator );
}
App mainApp;
//-- we complete the transaction started in the app constructor and start the client event loop here
returnApplication::exec();
//-- when loop is exited the Application deletes the scene which deletes all its children (per qt rules for children)
}
在main.cpp中首先包含一些需要使用的头文件,<bb/cascades/Application>,<QLocale>
<QTranslator>这三个是系统头文件,包括了Cascades中主要的程序框架Application和一些本地化需要使用的头文件。另外导入了“App.hpp”,这个文件也在src目录中,是本样例真正的入口。
然后声明在本文件中需要使用类Application,using语句如下:
using ::bb::cascades::Application;
接着就是程序入口了,和一般的main方法没有太大不同。Main方法中主要就是下面三行语句,其它的可以暂时不管它。
下面三行语句用于建立运行环境,建立应用实例,然后进入事件循环:
Application app(argc, argv);
App mainApp;
returnApplication::exec();
因为大部分简单的Cascades程序都是通过这些方法启动,所以不需要太关注每行语句对应的底层细节,那些底层细节可以等以后再分析。目前可以将以上启动应用的语句当作例行的工作。
进一步需要关注的就是src目录下的app.cpp 和 app.hpp两个文件了。样例的应用类就是通过这两个文件定义的。
app.hpp是App类的头文件,打开看会发现该文件很简单,就是定义一个App类,继承自QObject,另外需要留意的是类定义中插入了Q_OBJECT宏,插入这个宏的目的是将这个类定义成一个Qt类,对Qt有一些了解的同学一定对这个比较熟悉。
然后再看看app.cpp文件,文件中定义了App类的构造函数,函数实现如下:
App::App()
{
QmlDocument *qml = QmlDocument::create("main.qml");
AbstractPane *root = qml->createRootNode<AbstractPane>();
Application::setScene(root);
}
App构造函数中的第一句用于载入名为main.qml的文件,文件main.qml定义了主屏幕的细节,包括我们看见的“Hello World”标签,有关main.qml一会我们再详细讨论。
载入main.qml后由指针qml保存,接着通过createRootNode<AbstractPane>方法获得mail.qml中定义的主面板。注意createRootNode<AbstractPane>是模板函数createRootNode的特例化,通过AbstractPane进行,而Cascades中的面板类的组件都是AbstractPane的子类。
获得main.qml中的主面板后通过Application的静态方法setScene()将主面板显示出来。
具体main.qml中定义了那些元素呢,我们可以打开assets目录中的main.qml文件来看看,内容很简单,全部显示如下:
import bb.cascades 1.0
//-- create one page with a label and text
Page {
content: Label {
text: qsTr("Hello world")
}
}
第一句是导入bb.cascades 1.0包,这样才可以使用Cascades中的组件,然后定义了一个Page元素,Page元素的content属性,也就是内容属性指定为一个Label组件,该Label组件的text属性指定为一个“Hello world”字符串。
以上就是BB10 Cascades Hello World样例的全部内容了,是不是很简单呢?后面有机会我们再看看如何在BB10 Cascades 开发环境中使用Page, Label等组件,同样是非常简单呢!!
分享到:
相关推荐
bb10world for 黑莓 很好用,是zip文件,解压即可
BB10终端本机 BB10 Cascades 终端仿真器。
黑莓10平台开发教程,Cascades教程,适合于初学者,可以了解整个BB10的开发流程。
廉价亲民黑鸟单车BB10 GPS码表评测.pdf
黑莓手机中一些应用的简化
TurboBerry(黑莓来电通)是一款多功能黑莓手机软件,具有以下主要功能: ◆ 来电,去电归属地显示:...◆ 电量记录和分析:记录电量损耗情况,计算平均耗电并预计可用时间。 ◆ 充电满提示:充电满后会发声提示。
BB10安装BAR软件详细教程.黑莓Q10 Z10 详细软件安装转制教程
BB10基于webworks下的HTML5应用开发
节点-bb10 轻松向 BlackBerry 10 应用... PushMessage ( 'com.example.test@1459836' , 'Hello World!' ) ; message . addRecipient ( '00000000' ) ; // The PIN number of the recipient message . addAllRecipient
知乎日报 BB10(已停止维护此版本,继续更新 Cascades 版本。)暂时测试的机器是 passport, 其他bb10机器没有测试完成功能首页, 置顶新闻(轮播图部分), 每日新闻栏目以及查看栏目内容主题以及查看主题内容查看评论...
BB10-WebWorks-SDK_2.2 最新的SDK下载
BlackBerry手机,Sony定制微信流畅版,之前可以用,不知道以后还可不可以用
Phonegap基于bb10的环境搭建和app的创建
黑莓OS10系统可用的安卓软件
黑莓bb10桌面管理器,包含BlackBerry Link,BlackBerry Blend
6GK5204-2BB10-2AA3 -固件_V5.2.7.011
法桐旅游app手机版下载是一款可以为喜欢旅游的亲们提供最新最全的旅游攻略的手机app,为您规划好沿途的所有线路,还有相关的饮食住宿等预定哦,让你的路程更加安心,喜欢的亲们赶紧来下载吧!
无标签播放器 BB10 音频播放不使用 MP3 标签,而是使用目录树
可以彻底清洁系统,重新安装后不存在耗电等问题!
BB10示例应用程序,显示了如何防止未经您从BlackBerry World购买而盗用和使用您的应用程序(即:侧面加载条形文件)。 它甚至可以防止抄袭开发人员重用您的so文件。 如果应用程序是侧面加载的,则系统提示将显示...