background image

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(); }