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 😉