Android 应用程序始于 Activity 实例。这个代码片段演示了基本理念。
package org.mypackage.mynamespace; import android.app.Activity;
import android.os.Bundle; import android.widget.TextView;
public class Androidproj2Activity extends Activity { @Override
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
TextView textView=new TextView(this); textView.setText("Hello World");
setContentView(textView); }
}
Qt 用不同的方式来处理 Android 针对活动所作的处理。它使用了几个组件,比如域类或状态
机来跟踪组件状态。如果使用之前版本的
Qt,在创建用户界面时,你就得使用窗口组件,
或者在
QGraphicsView 上构建屏幕。结果是用户体验很差劲,在触摸屏手机上更是差劲。但
是随着
Qt Mobility 和 Qt Quick 的发布,用 Qt 移动平台来开发应用程序变得更切实际了。
Qt Mobillity API 框架提供了一系列广泛的功能和技术,包括如下:
Bearer Management:该 API 控制着系统的连接状态、管理可用网络连接以及使用最佳的可
用连接。
Contacts:该 API 让客户机能够请求来自本地和远地的联系人数据。 Location:该
API 用于接收来自任意数据源的位置数据。 Messaging:该 API 用于发送和接收多种类型的
消息,如短信和电子邮件。
Multimedia:该 API 有助于播放和录制媒体,并管理媒体内容
的组合。
Publish 和 Subscribe:该 API 用于共享应用程序之间的上下文信息和读取项目值、
浏览项目值以及订阅变更通知。
Service Framework:该 API 用于发现任意服务,并为任意
服务创建实例。
System Info:该 API 用于发现与系统有关的信息和能力。
Qt Quick 为使用 QML 语言,以声明式方式建立对象树提供了一种机制。QtDeclarative C++
模块将
QML 与 C++对象集成起来。开发者可以构建对智能手机及其他设备来说很常见的流
畅的用户界面。查看该列表,即可看到
Qt Quick 的所有组件。
这个
Qt Quick 代码片段让你可以大致了解脚本是什么样子:
import Qt 4.7 Rectangle {
Width : 270 Height : 170
Text { anchors . horizontalCentre : parent . horizontalCenter
anchors . verticalCenter : parent . verticalCenter text : "Hello World"
} }
Qt 移动平台的基本起始点是 main 方法。下面是一个基于窗口组件的移动应用程序的示例起
始点:
#include "mainwindow.h" #include <QtGui/QApplication>
int main(int argc, char *argv[]) {
QApplication app(argc, argv); MainWindow mainWindow;
mainWindow.setOrientation(MainWindow::ScreenOrientationAuto);
mainWindow.showExpanded();
return app.exec(); }