Dzisiaj krótka notka :-)
W związku z dużą ilością próśb i zapytań opublikowałem kolejną aktualizację Barmana - tym razem zawierającą nowe przepisy na drinki oraz drobne poprawki.
Postaram się raz na jakiś czas dodawać kolejne przepisy. Tymczasem próbujcie i testujcie nowe drinki. ;-)
Miłej zabawy :-)
niedziela, 2 czerwca 2013
poniedziałek, 20 maja 2013
Barman: Reloaded
Po prawie półtora roku od momentu publikacji mojej pierwszej aplikacji na Google Play wziąłem się do roboty i przygotowałem aktualizację Barmana. Skupiłem się głównie na uatrakcyjnieniu interfejsu graficznego. Wiem, że sporo osób zwracało uwagę na małą ilość przepisów, ale to temat następnej aktualizacji, którą planuję a nad którą praca już jest w toku.
W obecnej aktualizacji zmiany obejmują:
- uatrakcyjnienie interfejsu graficznego aplikacji
- wersja aplikacji dedykowana dla tabletów (nie trzeba niczego dodatkowo instalować)
- duże zmiany w samym silniku aplikacji niewidoczne z zewnątrz, ale usprawniające jej działanie
- sporo drobnych poprawek
Aktualizacja lada chwila powinna się pojawić na Google Play.
Miłej zabawy,
Szczypek
wtorek, 23 kwietnia 2013
Przygody z MeeGo i plikami GPX :-)
No to dzisiaj z nieco innej beczki :-)
Żeby czasem odpocząć od aplikacji Androidowych, co jakiś czas próbuję sił w programowaniu na Nokię N9 z systemem MeeGo na pokładzie. Nie jest to rzecz regularna, ponieważ mam dostęp do tego urządzenia cyklicznie, ale zawsze to miłe urozmaicenie. A i przy okazji praktyka w wykorzystaniu platformy Qt, języka C++ i QML na pewno się przyda. Przyczyna jest prosta - korzystając z tego "frameworka" można tworzyć aplikacje od mobilnych, przez wbudowane aż po desktopowe. I to na wszystkie główne systemy operacyjne.
O samym telefonie firmy Nokia nie będę się rozpisywał. Jednakże warto wspomnieć po krótce jego historię, ponieważ już w momencie premiery wiadomo było, że będzie to pierwszy i ostatni telefon Nokii z systemem MeeGo. Niestety wtedy już było wiadomo o mariażu fińskiego producenta telefonów z MałymMiękkim, który zapewne miał wpływ na podjętą decyzję finów ;-) Wydaje się, że telefon ten wypuszczono na rynek,tylko dlatego, że w tym momencie był już ukończonym produktem. Brak przyszłych aktualizacji niestety sprawił, że platforma ta, mimo że na prawdę porządnie i dobrze zrobiona, pozostała w cieniu i mało kto pisze na nią aplikacje.
No i właśnie w tym momencie przejdę do meritum dzisiejszego posta. Czasem zdarza mi się jeździć rowerem - ot tak, dla zdrowia i przyjemności. I dla wprawy postanowiłem napisać prostą aplikację na moją N9, która zapisywałaby trasę mojego przejazdu w postaci pliku GPX. Plik GPX jest ustandaryzowanym formatem XMLa, który w założeniu ma ułatwiać wymianę danych między aplikacjami korzystającymi z danych pobieranych z odbiornika GPS. Oto przykładowy, prosty plik w formacie GPX (http://pygments.org/demo/76845/ ).
Na początku mamy typowe dla formatu xml deklaracje. Następnie (druga linia) znacznik gpx będący korzeniem naszego xmla. Pierwszym nodem jest metadata , w którym zamieszczamy przynajmniej granice geograficzne naszej trasy (minimalne i maksymalne wartości długości i szerokości geograficznej zmierzonej trasy), oraz czas zapisania dokumentu gpx (time).
Następnie mamy znacznik trk , który zawiera już dane z naszego odbiornika gps w telefonie. Cała trasa podzielona jest na segmenty (trkseg), które grupują kolejno następujące po sobie dane stanowiące logiczną całość. Np. dane z jednej trasy spaceru, w trakcie którego utracono na chwilę sygnał gps będą zapisane w dwóch segmentach. W reszcie przechowuje dane poszczególnych punktów pomiaru w znaczniku trkpt. W atrybutach zapisane są długość i szerokość geograficzna, a w znacznikach odpowiednio wysokość nad poziomem morza (ele) i dokładny czas dokonania pomiaru (time). Oczywiście niniejszy przyklad jest maksymalnie uproszczony, a sam standard gpx przewiduje dużo więcej możliwości. Zainteresowanych odsyłam do źródła (http://www.topografix.com/gpx/1/1/ ).
Moja aplikacja testowa jest najprostsza, jak to tylko możliwe. W pliku MainPage.qml, tworzy i konfiguruje źródło danych GPS. W tym przypadku ustawiamy częstotliwość odczytów pozycji na jeden co 10 sekund (10000 milisekund), zaś sygnał o zmianie pozycji będzie uruchamiał funkcję updateGeoInfo, która współrzędne i czas ich pobrania wpisuje do etykiet wyświetlających te dane na interfejsie aplikacji. No i oczywiście przesyła te dane do metody writePosition klasy QGPXWriter.
Zadaniem wyżej wymienionej klasy jest utworzenie dokumentu gpx, zapisanie do niego danych poszczególnych punktów pomiarowych (metoda writePosition ) oraz zapisanie utworzonego dokumentu do pliku na dysku telefonu.
Mimo swojej prostoty aplikacja działa bardzo dobrze i po każdym spacerze, czy jeździe na rowerze mogę pobrać z telefonu plik gpx z zapisem trasy i utworzyć na jego podstawie wpis w internetowych serwisach sportowych typu runkeeper, czy endomondo. Jak dla mnie - bomba, bo w końcu mogę Nokię N9 wykorzystywać to śledzenia mojej aktywności sportowej. No i przy okazji narodził się pomysł wykorzystania wiedzy, którą zdobyłem tworząc tą aplikację do stworzenia bardziej pełnego produktu.
Pełny kod aplikacji dostępny jest w serwisie bitbucket.
Miłej zabawy! :-)
Żeby czasem odpocząć od aplikacji Androidowych, co jakiś czas próbuję sił w programowaniu na Nokię N9 z systemem MeeGo na pokładzie. Nie jest to rzecz regularna, ponieważ mam dostęp do tego urządzenia cyklicznie, ale zawsze to miłe urozmaicenie. A i przy okazji praktyka w wykorzystaniu platformy Qt, języka C++ i QML na pewno się przyda. Przyczyna jest prosta - korzystając z tego "frameworka" można tworzyć aplikacje od mobilnych, przez wbudowane aż po desktopowe. I to na wszystkie główne systemy operacyjne.
O samym telefonie firmy Nokia nie będę się rozpisywał. Jednakże warto wspomnieć po krótce jego historię, ponieważ już w momencie premiery wiadomo było, że będzie to pierwszy i ostatni telefon Nokii z systemem MeeGo. Niestety wtedy już było wiadomo o mariażu fińskiego producenta telefonów z MałymMiękkim, który zapewne miał wpływ na podjętą decyzję finów ;-) Wydaje się, że telefon ten wypuszczono na rynek,tylko dlatego, że w tym momencie był już ukończonym produktem. Brak przyszłych aktualizacji niestety sprawił, że platforma ta, mimo że na prawdę porządnie i dobrze zrobiona, pozostała w cieniu i mało kto pisze na nią aplikacje.
No i właśnie w tym momencie przejdę do meritum dzisiejszego posta. Czasem zdarza mi się jeździć rowerem - ot tak, dla zdrowia i przyjemności. I dla wprawy postanowiłem napisać prostą aplikację na moją N9, która zapisywałaby trasę mojego przejazdu w postaci pliku GPX. Plik GPX jest ustandaryzowanym formatem XMLa, który w założeniu ma ułatwiać wymianę danych między aplikacjami korzystającymi z danych pobieranych z odbiornika GPS. Oto przykładowy, prosty plik w formacie GPX (http://pygments.org/demo/76845/ ).
![]() |
| Przykladowy plik GPX wygenerowany przez aplikację |
Na początku mamy typowe dla formatu xml deklaracje. Następnie (druga linia) znacznik gpx będący korzeniem naszego xmla. Pierwszym nodem jest metadata
Następnie mamy znacznik trk
Moja aplikacja testowa jest najprostsza, jak to tylko możliwe. W pliku MainPage.qml, tworzy i konfiguruje źródło danych GPS. W tym przypadku ustawiamy częstotliwość odczytów pozycji na jeden co 10 sekund (10000 milisekund), zaś sygnał o zmianie pozycji będzie uruchamiał funkcję updateGeoInfo, która współrzędne i czas ich pobrania wpisuje do etykiet wyświetlających te dane na interfejsie aplikacji. No i oczywiście przesyła te dane do metody writePosition klasy QGPXWriter.
Zadaniem wyżej wymienionej klasy jest utworzenie dokumentu gpx, zapisanie do niego danych poszczególnych punktów pomiarowych (metoda writePosition ) oraz zapisanie utworzonego dokumentu do pliku na dysku telefonu.
Mimo swojej prostoty aplikacja działa bardzo dobrze i po każdym spacerze, czy jeździe na rowerze mogę pobrać z telefonu plik gpx z zapisem trasy i utworzyć na jego podstawie wpis w internetowych serwisach sportowych typu runkeeper, czy endomondo. Jak dla mnie - bomba, bo w końcu mogę Nokię N9 wykorzystywać to śledzenia mojej aktywności sportowej. No i przy okazji narodził się pomysł wykorzystania wiedzy, którą zdobyłem tworząc tą aplikację do stworzenia bardziej pełnego produktu.
Pełny kod aplikacji dostępny jest w serwisie bitbucket.
Miłej zabawy! :-)
Subskrybuj:
Komentarze (Atom)


