MyPlaces – znajdź mnie!

Zgłosiłam się do udziału w bootcampie androidowym. Warunkiem wzięcia udziału było napisanie dwóch aplikacji do końca sierpnia. Niestety końcówkę sierpnia spędziłam z Małym w szpitalu, więc się nie załapałam, ale coś tam z tej aplikacji powstało 😉 Nie chcę żeby się zmarnowało, więc dokończyłam implementację i będę mieć do portfolio ;D

Mały w żłobku, więc zaczynamy 🙂

Jedna z aplikacji, które były wymagane miała używać GPS-a i pozwalać na zapisywanie położenia w „sposób trwały”. Dodatkowo mogła też wyświetlać je na mapie. Stworzyłam sobie taką aplikację w Kotlinie. I tak bardziej wygląda to na koślawą aplikację javową, ale może jeszcze kiedyś do niej usiądę i będzie bardziej kotlinowa 😉 cały kod -> tu

Troszkę kodu? proszę 😉

https://gist.github.com/jezinka/66dbebab1e56b48525c72260ddf1f4f9

Kotlin nie oferuje statycznych obiektów, właściwości, etc. Zamiast tego mamy tzw. companion object, którego możemy użyć w odwołaniach:

https://gist.github.com/jezinka/dde26a28641c02f64146a2a24c8026f8

Baza jest dość prosta. Jedna tabelka, 5 kolumn (id, długość, szerokość, notka, kolejność). Zbyt wielkiej filozofii tu nie ma 😉

Pod guzikiem „znajdź mnie”, wywołuję funkcję, która pobiera położenie telefonu na podstawie GPS-a:

https://gist.github.com/jezinka/d519a9188f21e246f682f11f8617bc10

Całą robotę robi: getLastKnownLocation, bo przecież nie muszę sama oprogramowywać całego modułu obliczającego moją lokalizację 😀

Przycisk z mapką obsługuję na poziomie adaptera podłączonego do ListView na głównym ekranie:

https://gist.github.com/jezinka/a3e2897657ad80b792d66ee0d21e971d

Żeby wyświetlić wybrany punkt na mapce, trzeba załadować odpowiednie parametry w nowo tworzone activity:

https://gist.github.com/jezinka/72ae1486190d7708b7cbac7da5714a57

Activity do obsługi mapki:

https://gist.github.com/jezinka/b970d7c448e3c79ebcd61511703d8d3a

Reszta kodu na GitHubie – oczywiście bez kluczy do API 😉

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.