---
title: "Przetwarzanie danych w aplikacjach mobilnych działających na różnych platformach"
date: "2015-07-09"
categories: 
  - "applications"
  - "data-integration"
  - "events"
tags: 
  - "mobile"
  - "mobile-development"
  - "mobiletogether"
  - "software-tools"
description: Narzędzia o niskim poziomie kodowania w programie Altova MapForce ułatwiają definiowanie akcji w aplikacjach działających na różnych platformach.
---
Status: #blog

Tags:  #mobile #mobile-development #mobiletogether #software-tools

Categories: [mobile-development](/blog/pl/category/mobile-development.md) | [data-integration](/blog/pl/category/data-integration.md) 
# Przetwarzanie danych w aplikacjach mobilnych działających na różnych platformach

Altova MobileTogether umożliwia firmom, niezależnie od ich wielkości, projektowanie i wdrażanie niestandardowych rozwiązań mobilnych, które działają na wszystkich platformach mobilnych. Ten artykuł jest drugą częścią omówienia okna dialogowego "Akcje" w MobileTogether, które pozwala programistom [szybko tworzyć zaawansowane obsługi zdarzeń, sterowanie przepływem i operacje](https://www.altova.com/pl/mobiletogether/develop-apps-fast.html), które działają w ten sam sposób na urządzeniach iOS®, Android™ i Windows, a także w przeglądarce internetowej HTML5, bez konieczności martwienia się o specyficzne szczegóły API lub SDK dla każdego systemu operacyjnego mobilnego.

![Populacja światowa](/blog/images/world-population1.jpg)
Jeśli przegapiliście pierwszą część, przeczytajcie [Definiowanie obsługi zdarzeń i przepływu sterowania](/blog/pl/2015/06/defining-event-handling-and-control-flow-for-cross-platform-mobile-applications.md), aby nadrobić zaległości. 


Ten artykuł omawia niektóre funkcje MobileTogether, które pozwalają na manipulację danymi i są elastyczne, wydajne oraz przyspieszają tworzenie mobilnych aplikacji biznesowych opartych na danych, umożliwiając dostarczanie aktualnych informacji zapracowanym użytkownikom w ruchu.

![Aktualizacja obrazu 1](/blog/images/image-update-11.png) <!--more--> Zrzut ekranu poniżej przedstawia stronę główną aplikacji mobilnej do zarządzania zapasami, zawierającą krótki opis oraz opcję wyświetlenia dłuższego opisu po kliknięciu przycisku "więcej".

![Przycisk w aplikacji mobilnej działającej na różnych platformach](https://lh3.googleusercontent.com/-22yFbM6VUIU/VZqc2ibPi1I/AAAAAAAACTI/MjWvYauR5CA/clip_image003%25255B3%25255D.jpg?imgmax=800 "A Button in a Cross-Platform Mobile App")

Definicja akcji przypisana do przycisku jest wyświetlana poniżej w oknie dialogowym "Akcje" w programie MobileTogether Designer. Po kliknięciu przycisku, akcja "[Aktualizuj węzeł(y)](https://manual.altova.com/MobileTogether/mobiletogetherdesigner/index.html?mtdpagedesign_actions_update.htm)" wstawia stałą wartość "true" do węzła "ShowMore".

![Definicja działania przycisku w programie 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")

Pole tekstowe zawierające długą definicję posiada właściwość widoczności, która wykorzystuje wyrażenie do określenia, czy powinno być wyświetlane.

![Właściwość "Widoczność", która ukrywa lub wyświetla przycisk](https://lh3.googleusercontent.com/-w4_VdBzO014/VZqc3T5WZ7I/AAAAAAAACTY/wVHdxSUyQto/clip_image005%25255B3%25255D.png?imgmax=800 "Visibility Property that Hides or Shows the Button")

Gdy wartość parametru "ShowMore" zmieni się na "true", rozszerzony opis zostanie automatycznie wyświetlony na urządzeniu mobilnym

![Wyświetlany wynik po kliknięciu przycisku](https://lh3.googleusercontent.com/-W_VE1PDTxu8/VZqc3_AvqYI/AAAAAAAACTg/DhCLXYMDtQs/clip_image007%25255B3%25255D.png?imgmax=800 "Resulting Display After the Button is Clicked")

Przycisk "Pokaż więcej" był jednocześnie ukrywany, ponieważ jego właściwość widoczności zawierała wyrażenie, które sprawdza, czy wartość zmiennej "ShowMore" jest równa 'false'.

To proste zdefiniowanie akcji generuje przycisk, który działa na wszystkich urządzeniach mobilnych, a nawet w oknie przeglądarki na komputerze stacjonarnym. Ale funkcja "Aktualizuj węzeł(y)" może robić znacznie więcej! W naszym przykładzie zarówno węzeł docelowy, jak i dane przesyłane, były wartościami stałymi. Zarówno węzeł docelowy, wynik – lub oba te elementy – mogą również być zdefiniowane jako wyrażenia XPath zawierające odwołania do innych elementów danych, operatorów XPath, funkcji XQuery, specjalnych funkcji MobileTogether, a nawet funkcji zdefiniowanych przez użytkownika.

Programiści mogą po prostu kliknąć jeden z przycisków XPath, aby otworzyć okno dialogowe "[Edytuj wyrażenie XPath](https://manual.altova.com/MobileTogether/mobiletogetherdesigner/index.html?mtdxpxqexfv_xpxq_editxpxqexp.htm)", w którym mogą tworzyć i edytować wyrażenia, korzystając z dostępu do struktury danych XML, biblioteki operatorów i funkcji XPath/XQuery 3.1 oraz funkcji pomocniczych ułatwiających tworzenie poprawnych wyrażeń XPath/XQuery 3.1.

W prostym przykładzie zastosowania wyrażenia, aplikacja Inventory Manager zapisuje datę ostatniego uruchomienia, aby sprawdzić, czy należy zainicjalizować tabelę na nowy miesiąc przy następnym uruchomieniu. Ta akcja "Aktualizuj węzeł(y)" wykorzystuje funkcję daty XQuery:

![Aktualizacja węzła na podstawie prostego wyrażenia](https://lh3.googleusercontent.com/-wEMAirpLBRk/VZqc4foKqWI/AAAAAAAACTo/rBk8_8Dm0cQ/clip_image008%25255B3%25255D.png?imgmax=800 "Updating a Node Based on a Simple Expression")

Zauważ, że nie ma potrzeby korzystania z wywołań API specyficznych dla danego systemu operacyjnego. Jedno wyrażenie w MobileTogether obsługuje wszystkie platformy mobilne.

[Wstawianie węzła/węzłów](https://manual.altova.com/MobileTogether/mobiletogetherdesigner/mtdpagedesign_actions_update_insertnode.htm) i [Dodawanie węzła/węzłów](https://manual.altova.com/MobileTogether/mobiletogetherdesigner/mtdpagedesign_actions_update_appendnode.htm) to działania, które tworzą jeden lub więcej nowych węzłów, zgodnie ze wskazaniem w wyrażeniu XPath. Różnica między tymi dwoma działaniami polega na tym, że "Wstawianie węzła/węzłów" dodaje węzeł/węzły w określonym miejscu w strukturze danych, natomiast "Dodawanie węzła/węzłów" dodaje węzeł/węzły jako węzły potomne wybranego węzła/węzłów.

![Akcje MobileTogether do manipulacji danymi w aplikacjach mobilnych działających na różnych platformach](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")

Funkcje "Dodaj węzeł" i "Dodaj węzeł na końcu" umożliwiają dynamiczne rozszerzanie modelu integracji danych, pozwalając na obsługę zestawów danych o nieznanej wielkości. Na przykład, podstawą aplikacji "Zarządzanie zapasami" jest tabela opisująca stan części potrzebnych do produkcji różnych produktów. W rzeczywistości, specyfikacje produktów często się zmieniają, ponieważ menedżerowie produktów dodają lub usuwają warianty produktów lub zmieniają dostawców. Byłoby niezwykle nieefektywne tworzenie rozwiązania mobilnego, które byłoby zoptymalizowane pod kątem konkretnej liczby części. Zamiast tego, programista może po prostu zdefiniować zawartość pojedynczego wiersza opisującego pojedynczą część i określić wartości domyślne dla każdego elementu:

![Tworzenie modelu danych dla aplikacji mobilnej działającej na różnych platformach](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")

Po zainicjalizowaniu tabeli, akcja "Dodaj do węzła" może być skonfigurowana wewnątrz [działanie pętli](https://manual.altova.com/MobileTogether/mobiletogetherdesigner/index.html?mtdpagedesign_actions_ifloop.htm) Można dodać dowolną liczbę wierszy. W rozwiązaniu Inventory Manager, zmienna PartNumbersCount przechowuje liczbę unikalnych części, którą można odczytać z zapytania do bazy danych lub z zewnętrznego pliku zawierającego listę głównych części. Programista nie musi nawet znać dokładnej liczby.

![Wykorzystanie pętli do rozszerzenia modelu danych](https://lh3.googleusercontent.com/-NmJbjXstrX8/VZqc5rwaGYI/AAAAAAAACUA/bVF1_D_yOF4/clip_image011%25255B3%25255D.png?imgmax=800 "Extend the Data Model Inside a Loop")

W powyższej definicji, nowy węzeł jest definiowany jako wyrażenie XPath, które odnosi się do wiersza z modelu danych. Funkcja "Dodaj węzeł" dodaje odwołany węzeł, wszystkie jego dzieci oraz wszystkie ich elementy, atrybuty i zawartość. Nowy węzeł może zostać dodany jako pierwsze lub ostatnie dziecko.

Uruchomienie aplikacji w trakcie jej tworzenia w wbudowanym symulatorze MobileTogether umożliwia programistom analizowanie danych w czasie działania aplikacji. Po zakończeniu działania pętli zdefiniowanej powyżej, możemy zauważyć, że wartość zmiennej PartNumbersCount wynosi 167, a pętla dodała dokładnie 166 dodatkowych wierszy, każdy z nich wypełniony w identyczny sposób jak definicja początkowa.

![Model danych dla aplikacji mobilnej](https://lh3.googleusercontent.com/-r009GTY9ONo/VZqc6G01WhI/AAAAAAAACUI/rtVdGRFbhSc/clip_image012%25255B3%25255D.png?imgmax=800 "Constructed Data Model fo a Mobile App")

Funkcje "Wstaw węzeł(e)" i "Dodaj węzeł(e)" mogą również tworzyć nowe węzły, które są wprowadzane bezpośrednio jako konstruktory XML, na przykład: <MyElement-01 myatt="value">Element Content</MyElement-01>, lub mogą być tworzone za pomocą konstruktorów węzłów obliczanych przez XQuery, takich jak: `element MyElement-01 {xs:string("Zawartość elementu")} attribute myatt{"wartość"}`

[Odśwież](https://manual.altova.com/MobileTogether/mobiletogetherdesigner/mtdpagedesign_actions_pgsrcs_reload.htm) to kolejna potężna funkcja do pracy z danymi. Funkcja odświeżania może być zastosowana do każdego zewnętrznego zasobu używanego w projekcie, w tym do zapytań do baz danych, zewnętrznych plików danych, wykresów i obrazów. Funkcja odświeżania zawiera wygodną listę rozwijaną zawierającą wszystkie skonfigurowane zasoby zewnętrzne. W aplikacji Inventory Manager, zmienna $ProductSalesMTD to zapytanie SQL do bazy danych zamówień firmy, które pobiera liczbę sprzedaży każdego produktu do tej pory w bieżącym miesiącu. Produkty są porównywane z listami materiałów w celu obliczenia statystyk zapotrzebowania dla każdego elementu.

![Akcja "Reload" w MobileTogether, umożliwiająca odświeżanie danych z mobilnych źródeł i wykresów](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")

Łatwo jest załadować więcej niż jedno źródło danych, przeciągając wiele akcji ładowania do panelu edycji. Poniżej znajduje się częściowo rozszerzone zdefiniowanie akcji wykonywanych przez inny przycisk w Menedżerze Inwentarza. Po odświeżeniu wszystkich źródeł danych, ostatni krok polega na ponownym załadowaniu danych, aby ponownie wygenerować wykres wydajności na podstawie najnowszych wartości.

![Wykorzystanie akcji "Odśwież" do wykonywania zapytań do bazy danych](https://lh3.googleusercontent.com/-XRupqFTAaqc/VZqc67hsblI/AAAAAAAACUY/Wbv6elxt2ZY/clip_image014%25255B3%25255D.png?imgmax=800 "Applying the Reload Action to Execute Database Queries")

Na tym zrzucie ekranu z małego tabletu z systemem Android widać główną tabelę danych i wykres dla wersji programu do zarządzania zapasami, skonfigurowanego do obsługi podzespołów, a nie setek pojedynczych części. Jeśli poziom zapasów jakiegokolwiek komponentu spadnie poniżej ustalonego poziomu, użytkownik może wprowadzić ilości w kolumnie po prawej stronie, a następnie kliknąć przycisk "Złóż zamówienie", aby autoryzować zamówienia dla dostawców.

![Aplikacja mobilna do zarządzania zapasami, działająca na różnych platformach, stworzona przy użyciu narzędzia 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")

W trybie poziomym, na ekranie iPhone'a wyświetlany jest podobny widok, w którym użytkownik przegląda wszystkie dane, przewijając stronę.

![Aplikacja mobilna do zarządzania zapasami, wyświetlana na telefonie](https://lh3.googleusercontent.com/-wsuRq0Ae4jE/VZqc7yk9x0I/AAAAAAAACUo/JoHEdivPiAY/clip_image018%25255B3%25255D.jpg?imgmax=800 "Mobile Inventory Management App Viewed on a Phone")

Seria krótkich [Prezentacje wideo](https://www.altova.com/pl/mobiletogether/demos.html) artykuł opublikowany na stronie internetowej firmy Altova pokazuje, jak łatwo rozpocząć tworzenie aplikacji mobilnej dla przedsiębiorstw za pomocą narzędzia MobileTogether Designer. Można również zapoznać się z wersją przeglądarkową tej aplikacji [Pomoc online dla programu MobileTogether Designer](https://manual.altova.com/MobileTogether/mobiletogetherdesigner/mtdpagedesign_actions_update_insertnode.htm) dla uzyskania bardziej szczegółowych informacji.

Aby dowiedzieć się więcej i pobrać bezpłatny program MobileTogether Designer, który umożliwia tworzenie pierwszych rozwiązań mobilnych dla platform iOS®, Android™, Windows® Phone 8 oraz Windows 8, a także klienta działającego w przeglądarce HTML5, odwiedź stronę: [**www.altova.com/mobiletogether**](https://www.altova.com/pl/mobiletogether)
