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, 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.

Jeśli przegapiliście pierwszą część, przeczytajcie Definiowanie obsługi zdarzeń i przepływu sterowania, 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.

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".

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)" wstawia stałą wartość "true" do węzła "ShowMore".

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.

Gdy wartość parametru "ShowMore" zmieni się na "true", rozszerzony opis zostanie automatycznie wyświetlony na urządzeniu mobilnym

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", 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:

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 i Dodawanie węzła/węzłów 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.

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:

Po zainicjalizowaniu tabeli, akcja "Dodaj do węzła" może być skonfigurowana wewnątrz działanie pętli 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.

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.

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: Element Content, 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ż 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.

Ł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.

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.

W trybie poziomym, na ekranie iPhone'a wyświetlany jest podobny widok, w którym użytkownik przegląda wszystkie dane, przewijając stronę.

Seria krótkich Prezentacje wideo 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 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