---
title: "Manipulação de dados em aplicações móveis multiplataforma"
date: "2015-07-09"
categories: 
  - "applications"
  - "data-integration"
  - "events"
tags: 
  - "mobile"
  - "mobile-development"
  - "mobiletogether"
  - "software-tools"
description: As ferramentas de baixo código no Altova MapForce facilitam a definição de ações em aplicações multiplataforma.
---
Status: #blog

Tags:  #mobile #mobile-development #mobiletogether #software-tools

Categories: [mobile-development](/blog/pt/category/mobile-development.md) | [data-integration](/blog/pt/category/data-integration.md) 
# Manipulação de dados em aplicações móveis multiplataforma

A Altova MobileTogether permite que empresas de qualquer dimensão criem e implementem soluções móveis personalizadas que funcionam em todas as plataformas móveis. Este artigo é a segunda parte de uma discussão sobre a caixa de diálogo "Ações" do MobileTogether, que permite aos desenvolvedores [criar rapidamente mecanismos de tratamento de eventos sofisticados, fluxos de controlo e operações](https://www.altova.com/pt/mobiletogether/develop-apps-fast.html) que funcionam da mesma forma em dispositivos iOS®, Android™ e Windows, bem como num cliente baseado em navegador HTML5, sem se preocuparem com os detalhes específicos da API ou do SDK de cada sistema operativo móvel.

![População mundial](/blog/images/world-population1.jpg)
Se perdeu a primeira parte, leia [Definição do tratamento de eventos e do fluxo de controlo](/blog/pt/2015/06/defining-event-handling-and-control-flow-for-cross-platform-mobile-applications.md) para se atualizar. 


Este artigo aborda algumas das funcionalidades do MobileTogether que manipulam dados e que são flexíveis, poderosas e aceleram o desenvolvimento de aplicações empresariais móveis orientadas a dados, permitindo fornecer informações atualizadas a utilizadores ocupados que estão em movimento.

![Atualização da imagem 1](/blog/images/image-update-11.png) <!--more--> A captura de ecrã abaixo mostra a página de apresentação de uma aplicação móvel de gestão de inventário, com uma breve descrição e uma opção para visualizar uma descrição mais detalhada quando o utilizador clica no botão "mais".

![Um botão numa aplicação móvel multiplataforma](https://lh3.googleusercontent.com/-22yFbM6VUIU/VZqc2ibPi1I/AAAAAAAACTI/MjWvYauR5CA/clip_image003%25255B3%25255D.jpg?imgmax=800 "A Button in a Cross-Platform Mobile App")

A definição da ação para o botão é apresentada abaixo, na caixa de diálogo de ações do MobileTogether Designer. Quando o utilizador clica no botão, uma ação de "[Atualizar Nó(s)](https://manual.altova.com/MobileTogether/mobiletogetherdesigner/index.html?mtdpagedesign_actions_update.htm)" insere o valor fixo "true" no nó "ShowMore".

![Definição da ação de um botão no Altova MobileTogether ](https://lh3.googleusercontent.com/-M82HnIaVljo/VZqc3N305DI/AAAAAAAACTQ/Jv_2V2fijIg/clip_image004%25255B3%25255D.png?imgmax=800 "Definition of the Action of a Button in Altova MobileTogether")

A caixa de texto que contém a definição longa possui uma propriedade de visibilidade que utiliza uma expressão para determinar se deve ser exibida.

![Propriedade de visibilidade que oculta ou mostra o botão](https://lh3.googleusercontent.com/-w4_VdBzO014/VZqc3T5WZ7I/AAAAAAAACTY/wVHdxSUyQto/clip_image005%25255B3%25255D.png?imgmax=800 "Visibility Property that Hides or Shows the Button")

Assim que o valor de "ShowMore" muda para "verdadeiro", a descrição expandida é automaticamente exibida no dispositivo móvel

![Resultado exibido após clicar no botão](https://lh3.googleusercontent.com/-W_VE1PDTxu8/VZqc3_AvqYI/AAAAAAAACTg/DhCLXYMDtQs/clip_image007%25255B3%25255D.png?imgmax=800 "Resulting Display After the Button is Clicked")

O botão "Mostrar mais" estava simultaneamente oculto porque a sua propriedade de visibilidade continha uma expressão que verificava se o valor de "ShowMore" era igual a "false".

Esta definição de ação simples cria um botão que funciona em todos os dispositivos móveis, ou mesmo numa janela do navegador num computador de mesa. No entanto, a função "Atualizar Nó(s)" pode fazer muito mais! No nosso exemplo, tanto o nó de destino como o conteúdo foram valores fixos. No entanto, o nó de destino, o resultado – ou ambos – também podem ser definidos como expressões XPath que contêm referências a outros elementos de dados, operadores XPath, funções XQuery, funções especiais do MobileTogether e até funções definidas pelo utilizador.

Os programadores podem simplesmente clicar em qualquer um dos botões XPath para abrir.. [Diálogo de edição da expressão XPath](https://manual.altova.com/MobileTogether/mobiletogetherdesigner/index.html?mtdxpxqexfv_xpxq_editxpxqexp.htm) para criar e editar expressões, com acesso à estrutura de dados XML, uma biblioteca de operadores e funções XPath/XQuery 3.1, e funcionalidades de apoio para facilitar a criação de expressões XPath/XQuery 3.1 válidas.

Num exemplo simples de aplicação de uma expressão, a aplicação "Gestor de Inventário" regista a data de execução para verificar se é necessário inicializar a tabela para um novo mês quando for executada novamente. Esta ação "Atualizar Nó(s)" utiliza uma função de data XQuery:

![Atualizar um nó com base numa expressão simples](https://lh3.googleusercontent.com/-wEMAirpLBRk/VZqc4foKqWI/AAAAAAAACTo/rBk8_8Dm0cQ/clip_image008%25255B3%25255D.png?imgmax=800 "Updating a Node Based on a Simple Expression")

Note que não é necessário fazer chamadas de API específicas para cada plataforma. Uma única expressão no MobileTogether é compatível com todas as plataformas móveis.

[Inserir nó(s)](https://manual.altova.com/MobileTogether/mobiletogetherdesigner/mtdpagedesign_actions_update_insertnode.htm) e [Anexar nó(s)](https://manual.altova.com/MobileTogether/mobiletogetherdesigner/mtdpagedesign_actions_update_appendnode.htm) são ações que criam um ou mais novos nós, conforme especificado numa expressão XPath. A diferença entre estas duas ações é que "Inserir nó(s)" adiciona o(s) nó(s) num ponto específico na estrutura de dados, enquanto "Anexar nó(s)" adiciona o(s) nó(s) como nós filhos do(s) nó(s) selecionado(s).

![Ações do MobileTogether para manipular dados em aplicações móveis multiplataforma](https://lh3.googleusercontent.com/-0jRXHSPSeU4/VZqc4_S3l9I/AAAAAAAACTw/6dpTtn_owJI/clip_image009%25255B3%25255D.png?imgmax=800 "MobiltTogether Actions to Manipulate Data in Cross-Platform Mobile Apps")

As opções "Inserir Nó(s)" e "Anexar Nó(s)" podem expandir um modelo de integração de dados em tempo real para lidar com conjuntos de dados de tamanho desconhecido. Por exemplo, o núcleo da aplicação "Gestor de Inventário" é uma tabela que descreve o estado das peças necessárias para a produção de vários produtos. No mundo real, as listas de materiais dos produtos mudam frequentemente, à medida que os gestores de produto adicionam ou removem variações de produtos ou alteram os fornecedores. Seria extremamente ineficiente criar uma solução móvel com um número fixo de peças. Em vez disso, um desenvolvedor pode simplesmente definir o conteúdo de uma única linha que descreve uma única peça, e fornecer valores padrão para cada elemento:

![Criar um modelo de dados para uma aplicação móvel multiplataforma](https://lh3.googleusercontent.com/-6_I-e8qyg_c/VZqc5DOrGMI/AAAAAAAACT4/h8vberqwkVA/clip_image010%25255B3%25255D.png?imgmax=800 "Creating a Data Model for a Cross-Platform Mobile App")

Quando a tabela é inicializada, a ação "Adicionar ao nó" pode ser configurada dentro de uma [ação de loop](https://manual.altova.com/MobileTogether/mobiletogetherdesigner/index.html?mtdpagedesign_actions_ifloop.htm) para adicionar qualquer número de linhas. Na solução "Gestor de Inventário", a variável "PartNumbersCount" armazena o número de peças únicas, que pode ser lido a partir de uma consulta a uma base de dados ou de um ficheiro externo de lista de peças. O programador nem sequer precisa de conhecer o número exato.

![Utilizar um ciclo para expandir o modelo de dados](https://lh3.googleusercontent.com/-NmJbjXstrX8/VZqc5rwaGYI/AAAAAAAACUA/bVF1_D_yOF4/clip_image011%25255B3%25255D.png?imgmax=800 "Extend the Data Model Inside a Loop")

Na definição acima, o novo nó é definido como uma expressão XPath que representa uma linha do modelo de dados. A função "Append Node" (Adicionar Nó) adiciona o nó referenciado, todos os seus filhos, e todos os seus elementos, atributos e conteúdo. O novo nó pode ser adicionado como o primeiro ou o último filho.

A execução de um projeto em desenvolvimento no simulador integrado do MobileTogether permite que os programadores analisem os dados enquanto a aplicação está em execução. Após a conclusão de todas as iterações do ciclo definido acima, podemos verificar que o valor de "PartNumbersCount" foi 167 e que o ciclo adicionou exatamente 166 linhas adicionais, cada uma preenchida de forma idêntica à definição original.

![Modelo de dados para uma aplicação móvel](https://lh3.googleusercontent.com/-r009GTY9ONo/VZqc6G01WhI/AAAAAAAACUI/rtVdGRFbhSc/clip_image012%25255B3%25255D.png?imgmax=800 "Constructed Data Model fo a Mobile App")

As opções "Inserir Nó(s)" e "Anexar Nó(s)" também podem criar novos nós que são introduzidos diretamente como construtores XML, como: <MyElement-01 myatt="value">Element Content</MyElement-01>, ou podem ser construídos através de construtores de nós calculados por XQuery, como: `elemento MyElement-01 {xs:string("Conteúdo do elemento")} atributo myatt{"valor"}`

[Recarregar](https://manual.altova.com/MobileTogether/mobiletogetherdesigner/mtdpagedesign_actions_pgsrcs_reload.htm) é outra ação poderosa para trabalhar com dados. A ação de recarregar pode ser aplicada a qualquer recurso externo incluído no design, incluindo consultas a bases de dados, ficheiros de dados externos, gráficos e imagens. A opção "Recarregar" inclui uma lista suspensa com todos os recursos externos já configurados. Na aplicação "Gestor de Inventário", $ProductSalesMTD é uma consulta SQL da base de dados de encomendas da empresa que obtém um número de vendas de cada produto individual até o momento no mês corrente. Os produtos são comparados com as listas de materiais para calcular as estatísticas de procura de cada peça individual.

![Ação "Reload" do MobileTogether para fontes de dados móveis e gráficos](https://lh3.googleusercontent.com/-ZC1kX63Ve0o/VZqc6UKjc2I/AAAAAAAACUQ/68uozrMpIDo/clip_image013%25255B3%25255D.png?imgmax=800 "Reload Action for Mobile Data Sources and Charts in MobileTogether")

É fácil recarregar mais de uma fonte de dados arrastando várias ações de recarregamento para a área de edição. Abaixo, está a definição parcialmente expandida das ações realizadas por outro botão no Gestor de Inventário. Depois de todas as fontes de dados serem atualizadas, a última etapa executa o recarregamento para redesenhar o gráfico de desempenho com base nos valores mais recentes.

![Aplicar a ação "Recarregar" para executar consultas à base de dados](https://lh3.googleusercontent.com/-XRupqFTAaqc/VZqc67hsblI/AAAAAAAACUY/Wbv6elxt2ZY/clip_image014%25255B3%25255D.png?imgmax=800 "Applying the Reload Action to Execute Database Queries")

Esta captura de ecrã, proveniente de um pequeno tablet Android, mostra a tabela de dados principal e o gráfico de uma versão do Gestor de Inventário configurada para subconjuntos, em vez de centenas de peças individuais. Se os níveis de qualquer componente estiverem abaixo do valor desejado, o utilizador pode inserir as quantidades na coluna à direita e, em seguida, clicar no botão "Enviar Encomenda" para autorizar encomendas aos fornecedores.

![Uma aplicação móvel para gestão de inventário, compatível com diferentes plataformas, criada com a ferramenta MobileTogether](https://lh3.googleusercontent.com/-5QS5GlfMxDo/VZqc7UaB86I/AAAAAAAACUg/cGlTHKn11Vg/clip_image016%25255B3%25255D.jpg?imgmax=800 "A Cross-Platform Mobile Inventory Management App Created in MobileTogether")

Num iPhone utilizado na horizontal, o ecrã apresenta uma visualização semelhante, onde o utilizador pode ver todos os dados percorrendo a página.

![Aplicação móvel para gestão de stock, visualizada num telemóvel](https://lh3.googleusercontent.com/-wsuRq0Ae4jE/VZqc7yk9x0I/AAAAAAAACUo/JoHEdivPiAY/clip_image018%25255B3%25255D.jpg?imgmax=800 "Mobile Inventory Management App Viewed on a Phone")

Uma série de pequenos.. [demonstrações em vídeo](https://www.altova.com/pt/mobiletogether/demos.html) O artigo publicado no site da Altova demonstra como é fácil começar a criar uma aplicação empresarial móvel com o MobileTogether Designer. Ou, consulte a versão web de.. [Ajuda online do MobileTogether Designer](https://manual.altova.com/MobileTogether/mobiletogetherdesigner/mtdpagedesign_actions_update_insertnode.htm) Para obter informações mais detalhadas.

Para saber mais e descarregar o MobileTogether Designer gratuitamente, para criar a sua primeira solução móvel empresarial para iOS®, Android™, Windows® Phone 8 e Windows 8, bem como um cliente baseado em navegador HTML5, visite: [**www.altova.com/mobiletogether**](https://www.altova.com/pt/mobiletogether)
