Cześć,

Witam Was w kolejnym wpisie poświęconemu projektowi wieloplatformowej aplikacji mobilnej – budzik podróżnika („XTravel Alarm„).

Na początku bardzo dobra wiadomość, ponieważ w przeciągu dwóch dni udało mi się uzyskać oczekiwany rezultat, jakim jest możliwość wyłączenia alarmu z poziomu pojawiającej się notyfikacji.

Ten pokaz slajdów wymaga włączonego JavaScript.

Ponadto porobiłem pewne porządki. Pousuwałem zbędne pliki, zwłaszcza ikonki, których w ogóle nie używałem, a zajmowały zbędne miejsce na dysku.

Obecnie muszę poprawić jeszcze metodę odpowiedzialną za alarm dźwiękowy, ponieważ mimo tego, że dźwięk jest wydawany, to pod względem kodu zawiera bardzo poważny problem – wycieki  pamięci. Takie informacje otrzymałem od doświadczonego programisty Xamarin (serdecznie pozdrawiam 😉 ), który to miał okazję zerknąć na kod źródłowy metody PlaySoundAsync().

PlaySoundAsync

Jeśli to uda mi się poprawić, zostaje mi tylko zaimplementowanie serwisu lokalnej bazy danych. Ten aspekt postanowiłem zostawić sobie na sam koniec. Tym samym aplikacja Androidowa byłaby w pełni skończona 🙂

Ponadto, takie samo rozwiązanie (wyłączenie alarmu z poziomu notyfikacji) muszę wdrożyć na platformę iOS.

Postanowiłem również zmienić samą ikonkę aplikacji. Wydaje mi się, że obecna jest zdecydowanie lepsza i ładniejsza. Oceńcie proszę sami 😉

ic_launcher

Zaktualizowałem również informacje w pliku README.md znajdującego się na repozytorium.

README.md

Podsumowując:

Aplikacja na platformę Android jest już praktycznie gotowa. Muszę poprawić działanie metody PlaySoundAsync.

W przypadku systemu iOS, tu muszę dodać analogiczne rozwiązanie funkcji wyłączenia alarmu z poziomu pojawiającego się powiadomienia.

Pomimo tego, że wykorzystuję framework Xamarin.Forms umożliwiający współdzielenie 85-95% logiki biznesowej wraz z interfejsem graficznym, do stworzenia serwisu z użyciem dźwięku i notyfikacji należało użyć podejścia natywnego (oddzielnie pod każdą platformę).

Zmieniłem także ikonę programu.

Co mnie czeka jeszcze?

  • Implementacja serwisu lokalnej bazy danych
  • Uzupełnienie dokumentacji technicznej.

W razie jakichkolwiek pytań, porad, zapraszam do pisania komentarzy lub w wiadomości prywatnej.

Tymczasem życzę wszystkim udanej niedzieli oraz nadchodzącego tygodnia 🙂