Criando uma aplicação para Symbian usando Qt

Para completar esse tutorial, você precisa instalar o Qt SDK. O programa de instalação instala e configura as ferramentas necessárias para o desenvolvimento de aplicações móveis. Esse tutorial descreve como usar o Qt Creator para criar um pequena aplicação Qt, Indicador de bateria, que usa a API de Mobilidade do sistema para pegar a informação sobre a bateria do dispositivo.

Criando o projeto do Indicador de bateria

Nota: Crie o projeto com o modo Help ativo para que você possa seguir as instruções enquanto trabalha.

  1. Selecione File > New File or Project > Qt Widget Project > Mobile Qt Application > Choose.

    A caixa de dialogo Introduction and Project Location abre.


  2. No campo Name, digite BatteryIndicator.
  3. No campo Create in, informe o caminho para os arquivos do projeto. Por exemplo, /Qt/examples, e depois clique Next. A caixa de diálogo Target setup abre.

  4. Selecione Symbian Device, Maemo5, Harmattan, e selecione Qt Simulator, e entçao clique em Next. Nota: Os alvos estarão listados se você instalar os ambientes de desenvolvimento adequados como parte do Qt SDK. Você pode adicionar alvos mais tarde no mode Projects. A caixa de diálogo Mobile Options é mostrada.


  5. No campo Orientation behavior, determine como a aplicação comporta-se quando a orientação do dispositivo é rotacionada entre retrato e paisagem, e depois clique em Next. Nota: Essa caixa de diálogo abre somente se você seleciona os alvos Maemo5, Harmattan, ou Symbian Device na caixa de diálogo Target Setup. A caixa de diálogo Symbian Specific é mostrada.

    Nota: O Qt Creator possui um icone de programa padrão e gera um UID para que a aplicação possa ser testada em um dispositivo. Você só precisa mudar o icone e o UID se quiser disponibilizar a aplicação para o público

  6. Clique em Next. A caixa de diálogo Maemo Specific é aberta.

  7. No campo Application icon (64×64), selecione o icone da aplicação para uso nos alvos Maemo5 ou Harmattan, ou clique em Next para usar o icone padrão. A caixa de diálogo Project Management è mostrada.

  8. Reveja as configurações do projeto e clique em Finish para cria-lo.

O projeto possui agora os seguintes arquivos:

  • BatteryIndicator.pro
  • main.cpp
  • BatteryIndicator.svg
  • BatteryIndicator.png
  • BatteryIndicator.desktop
  • deployment.pri
  • mainwindow.cpp
  • mainwindow.ui
  • mainwindow.h
  • templates for Debian deployment files


Os arquivos vem com o código minimo necessário para que você os modifique, como descrito nas próximas seções.

Declarando a API de Mobilidade do Qt

Para usar as APIs de mobildiade do Qt ou desenvolver aplicações para dispositivos Symbian, você precisa modificar o arquivo .pro para declarar as APIs que você quiser usar.

Esse exemplo usa a API SystemInfo, assim você precisa declara-la como ilustrado abaixo:

CONFIG += mobility
MOBILITY = systeminfo

Cada API tem seu valor correspondente que tem que adicionado como valor à MOBILITY para usa a API. para uma lista de APIs e seus valores correspondentes que podem ser associados a MOBILITY, veja Quickstart Example.

Desenhando a interface com o usuário

  1. No modo Editor, dê um clique duplo no arquivo mainwindow.h na visão Projects para carregar o Qt Designer integrado.
  2. Arraste uma Progress Bar para o formulário

  3. No painel Properties, altere objectName para batteryLevelBar.
  4. Dê um clique com o botão direito no objeto MainWindow e selecione Lay Out > Lay Out Horizontally para garantir que o indicador de bateria seja ajustado corretamento aos dispositivos Maemo.

Completando o arquivo de cabeçalho

O arquivo mainwindow.h possui algumas das diretivas #include necessárias, um construtor, destrutor e o objeto Ui. Você precisa incluir o arquivo de cabeçalho do SystemInfo, adicionar um atalho para o namespace de mobildade, e adicionar uma função privada para atualizar o valor do nível da bateria quando esta for alterada.

  1. Na visão Projects, dê um clique duplo no arquivo mainwindow.h para edita-lo.
  2. Inclua o arquivo de cabeçalho do System Device Info como ilustrado abaixo:
     #include <QSystemDeviceInfo>
  3. Adicione o atalho para o namespace de mobilidade como ilustrado abaixo:
     QTM_USE_NAMESPACE
  4. Declare uma função privada na seção private, depois da função Ui::MainWindow como ilustrado abaixo:
     private:
         Ui::MainWindow *ui;
         void setupGeneral();
    
         QSystemDeviceInfo *deviceInfo;

Completando o arquivo de código fonte

Agora que o arquivo de cabeçalho está completo, passe para o arquivo de código fonte, mainwindow.cpp.

  1. Na visão Projects, dê um clique duplo no arquivo mainwindow.cpp para abri-lo para edição.
  2. Crie um objeto QSystemDeviceInfo e configure seu valor. Depois conecte o signal que indique o nível da bateria alterando o slot setValue da barra de progresso. Isso é mostrado abaixo:
     void MainWindow::setupGeneral()
     {
         deviceInfo = new QSystemDeviceInfo(this);
    
         ui->batteryLevelBar->setValue(deviceInfo->batteryLevel());
    
         connect(deviceInfo, SIGNAL(batteryLevelChanged(int)),
                 ui->batteryLevelBar, SLOT(setValue(int)));
     }
  3. Use o construtor para configurar o valor inicial e certificar que o objeto criado esteja em um estado definido, como mostrado abaixo:
     MainWindow::MainWindow(QWidget *parent):
         QMainWindow(parent),
         ui(new Ui::MainWindow),
         deviceInfo(NULL)
     {
         ui->setupUi(this);
         setupGeneral();
     }

Compilando e executando o programa

Agora que você possui todo o código necessário, selecione Qt Simulator como alvo e clique no botão para compilar o programa e executa-lo no Qt Simulator.

No Qt Simulator, execute o script exemplo runOutofBattery.qs para ver as mudanças na aplicação de Indicador de Bateria. Selecione Scripting > examples > runOutOfBattery.qs > Run.


Testando em um Dispositivo Symbian

Você também precisa testar a aplicação em dispositivos reais. Antes de poder começar os testes em dispositivos Symbian, precisa conecta-lo ao PC de desenvolvimento usando um cabo USB e instalar os softwares necessários nele.

  1. Instale as bibliotecas Qt, as bibliotecas móveis do Qt e o agente de depuração no dispositivo. Para mais informações, veja Connecting Symbian Devices.
  2. Inicie o agente de depuração, App TRK ou CODA, no dispositivo.
  3. Clique em Target Selector e selecione Symbian Device.
  4. Clique em Run para compilar e aplicação para o dispositivo Symbian.

Traduzido de doc.qt.nokia.com