W dzisiejszym wpisie zajmiemy się automatyzacja aplikacji Zdrowie. Sam staram się w tej aplikacji zbierać stosunkowo dużo danych, związanych z moim zdrowiem. Dla przykładu, w każdy sobotni poranek mam ustawione przypomnienie o sprawdzeniu wagi oraz zanotowaniu jej do aplikacji. Dzięki czemu kontroluję swoją wage i nie muszę pamiętać o zważeniu się, gdyż po przebudzeniu mam już przypomnienie o tym na telefonie.
Dziś wykonamy dwa skrypty. Pierwszy z nich bedzie odpowiedzialny za wprowadzanie danych do aplikacji – wprowadzać bedziemy naszą wagę. Natomiast, drugi skrypt będzie zwracał ilość wypitej wody w dniu dzisiejszym. Niezależnie od pory roku nawodnienie organizmu jest bardzo ważne dla zdrowia, dlatego warto rownież i ten aspekt kontrolować. Z pomocą przychodzą nam aplikacje Zdrowie i Workflow.
Głównym założeniem skryptów jest możliwość wykonania ich z poziomu widgetu, bez konieczności wchodzenia do aplikacji Workflow.
Jak widzimy na początku mamy dobrze nam znany Ask for Input, którego zadaniem będzie wprowadzenie wagi.
Default – wartość domyślną pozostawiłem pustą, żeby każdorazowe jej usuwanie nie denerwowało użytkownika.
Input Type – to oczywiście typ danych jaki ma zostać podany przez użytkownika.
Kolejnym elementem naszego skryptu jest Log Health Sample, który odpowiada za zapisywanie danych w aplikacji Zdrowie.
Value – czyli jak sama nazwa wskazuje jest to wartość jaka ma zostać dodana wraz z jednostką. Wartością w naszym skrypcie jest dana zwrócona przez komponent Ask for Input, natomiast jednostka to kilogramy.
Date – ostatni z parametrów, przyjmuje date dodania pomiaru, u nas będzie to data włączenia skryptu.
Warto wspomnieć, że parametry komponentu Log Health Sample, są zależne od pierwszego z omówionych przeze mnie parametrów, czyli Type.
Po wykonaniu operacji dodania nowej wagi, pozostaje nam jeszcze wyświetlić powiadomienie o wykonaniu czynności przez nasz skrypt.
Parametr Title ustawiłem jako Waga. Natomiast w ciele powiadomienia znajduje się tekst wraz z wprowadzoną wartością.
Skrypt ten składa się z trzech elementów, pierwszym z nich jest Find Health Samples. Przyjmuje kilka parametrów, które jak zawsze po kolei omówię. Pierwszym parametrem jest kategoria z jakiej chcemy odczytać dane, w naszym skrypcie jest to Water. Kolejny parametr odpowiada za date początkowa lub zakres, tak jak w naszym przypadku jest to zakres całego dnia. Następnie możemy dodać kolejne filtry danych takie jak czas zakończenia czy źródło wprowadzonych danych, dodając nowy filter. Unity odpowiada za zwracana jednostkę interesującej nas wartości, u nas w skrypcie są to litry. Mamy możliwość grupowania danych za pomocą Group By, gdzie my grupujemy po całym dniu.
Następnie mamy przełącznik odpowiedzialny za wypełnianie brakujących danych. Jak widzimy ten parametr jest u nas wyłączony. Parametry Sort by i Order odpowiadają za sortowanie pobranych danych. W Sort by wybieramy po jakiej wartości mają być sortowane dane, a w Order, czy mają być sortowane rosnąco czy malejąco. Ostatni parametr to określenie limitu pobieranych danych np. wczytanie ostatnich pięciu dodanych szklanek wody. Komponent Find Health Samples przypomina tworzenie zapytań sqlowych, jeśli miałeś możliwość pracy z bazami danych to na pewno, widząc ten element skryptu, miałeś takie samo skojarzenie.
Round number to kolejny element budowanego przez nas skryptu. Wykorzystamy go do zaokrąglania pobranych danych. Parametr Round odpowiedzialny jest za kierunek zaokrąglania. Mamy możliwość zaokrąglania lewej strony po przecinku lub prawej. U nas będzie to prawa strona po przecinku. Następnie określamy zachowanie funkcji zaokrąglającej. Tutaj mamy do wyboru trzy typu: zawsze zaokrąglaj w górę, zawsze zaokrąglaj w dół lub normalne zaokrąglanie, czyli od 0.5 zaokrąglaj w górę, a gdy jest poniżej tej wartości w dół. Ostatnim parametrem jest ilość miejsc po przecinku. W naszym skrypcie będą to dwa miejsca po przecinku. Po pobraniu danych, zaokrągleniu wyniku pozostaje nam wyświetlić powiadomienie z przetworzonych danych. W tytule powiadomienia wstawiamy przetworzoną wartość zwróconą przez Round number i mamy gotowy skrypt, który będzie nas informował o ilości wypitej wody danego dnia.
Po utworzeniu obu skryptów pozostaje nam wejść w ustawienia danego skryptu i wybrać typ na Today Widget.
W dzisiejszym wpisie skupiliśmy się na automatyzacji systemowej aplikacji Zdrowie. Dodatkowo skonfigurowaliśmy nasze skrypty, tak aby móc uruchamiać je z widgetu. Podobnych skryptów możemy wykonać bardzo dużo, zmieniając jedynie interesującą nas kategorię. Skrypty do aplikacji Zdrowie, bardzo upraszczają życie osobie, która systematycznie wprowadza do niej dane.
Polecamy również:
Recenzja aplikacji Workflow
Pozostałe artykuły z serii: Jak tworzyć skrypty w Workflow
Markę Synology kojarzycie zapewne z urządzeniami NAS. Te świetne dyski sieciowe dają możliwość przechowywania bezpiecznie…
Na rynek wchodzą dwa nowe głośniki marki Sonos: Era 100 i Era 300. Model Era…
Akcesoriów, które możemy dodać do naszego inteligentnego domu jest coraz więcej. Do tego zacnego grona…
Wiecie, że jedna z najlepszych baz danych - FileMaker (obecnie zmieniana jest nazwa na Claris),…
Elon Musk wszedł na Twittera i zrobił rewolucje. Ostateczną ocenę jego poczynań w tym serwisie…
Ten produkt miał już nie istnieć. Kiedy pojawiły się informację, że Apple nie przedłuży życia „dużego”…
Serwis wykorzystuje pliki cookies. Korzystając ze strony wyrażasz zgodę na wykorzystywanie plików cookies.