- Sensorki – Serverless app i refaktoring – #9
- Sensorki – podsumowanie – #8
- Sensorki – Android i Spock – #7
- Sensorki – groovy/spring boot demo serwer – #6
- Sensorki – widget – #5
- Sensorki – wskaźnik baterii – #4
- Sensorki – material design – #3
- Sensorki – refresh – #2
- Sensorki – widok i adapter – #1
- Sensorki – aplikacja „pogodowa” – #0
Postanowiłam zmienić format jsona, którego obrabiam na androidzie, na bardziej przystępny. Tak powstała aplikacja w chmurze google’a, która pozwoliła uprościć kod.
Format JSON-a zawierający odczyty sensorka nie był zbyt przyjazny do wyświetlania przez aplikację. Trzy obiekty zawierające kolejne obiekty. Dużo danych, których wcale nie potrzebowałam. Żeby wyciągnąć etykietę z sensora musiałam się odwołać do innej listy.
Postanowiłam sprowadzić tego JSON-a do prostej listy zawierającej tylko te dane, z których naprawdę korzystała. Za pomocą javaScriptu i node.js stworzyłam funkcję pobierajcą jsona z dotychczasowego endpointu. Dwie pętle i JSON zaczął być maksymalnie użyteczny.
Wyodrębniłam z serwera funkcję i przeniosłam do chmury google’a tworząc „aplikację bezserwerową.
W wyniku obróbki przez funkcję dostaję teraz takiego JSON-a.
Pozwoliło mi to na użycie biblioteki Moshi do mapowania JSONa prosto do javowej klasy. Adnotacje w miejscach gdzie nazwa pola nie zgadzała się z polem w JSONie
i już mogę korzystać z tego, że serwer zwraca mi po prostu listę obiektów Sensor zamiast JSON Object
Pozbywam się ręcznego wydobywania z JSON-a labelek i poszczególnych odczytów.
Działanie aplikacji nie zmieniło się wcale, ale kod jest o wiele bardziej czytelny.