Oto pierwszy screenshot z mojej pracy inżynierskiej

Aplikacja posiada już następujące funkcjonalności:
- Potrafi sprawdzić stan WiFi oraz w razie potrzeby sama go włączyć (nie pytając użytkownika o zdanie … bo po co ? jeżeli się uruchamia taką aplikację wiadomo, że sieć bezprzewodowa musi być włączona
)
- Potrafi sprawdzić status usługi GPS oraz poprosić użytkownika o jej włączenie (ponieważ android może za zgodą użytkownika wysyłać dane lokalizacyjne go Google’a warto żeby użytkownik sam włączył usługę, ewentualnie wyłączył moją aplikację)
- Wyświetla aktualną pozycję użytkownika (to jest właśnie ta gwiazdka na środku ekranu)
- Automatycznie co pół sekundy skanuje eter w poszukiwaniu sieci bezprzewodowych.
- W prawym górnym rogu umieszczona jest licznik aktualnie wykrytych sieci
- W prawym dolnym rogu umieszczony jest licznik sieci które aplikacja “mniej więcej” zlokalizowała (ew. potrafiła zlokalizować)
Przewidywane funkcjonalności:
- Automatyczne wycentrowanie mapy na pozycję użytkownika (gwiazdkę)
- Dodanie możliwości konfiguracji (chociażby możliwość zmiany interwału skanowania)
- Obsługa przycisku “menu”
- Zapisywanie wyników aplikacji w “jakimś” formacie
- Kalibracja aplikacji
- Algorytm lokalizacji punktów na podstawie sygnału WiFi oraz lokalizacji użytkownika
Teoretycznie powinno już być z górki, gdyż już w miarę zaprzyjaźniłem się z SDK oraz API android’a. Największym wyzwaniem będzie główna część czyli implementacja (raz opracowanie) algorytmu pozwalającego na zlokalizowanie access point’a; jego zarysy już kłębią się mi w głowie z tym, że posiada on jeszcze kilka słabostek.
Zmiana platformy implementacyjnej znacząco przyśpieszyła prace nad aplikacją
Dziś w ciągu nie całych 2 godzin udało się mi wystartować cały projekt oraz uruchomić usługę Google Maps, GPS oraz zintegrować całość ze sobą. Jedyną rzeczą jaką (na razie) moja aplikacja wykonuje, jest umieszczenie markera (w postaci maskotki androida – robota) na odpowiedniej szerokości i długości geograficznej oraz przesunięcie w to miejsce mapy. Czyli aktualnie geo-lokuje telefon ;>
Całość wymaga jeszcze dopracowania, gdyż jest to tylko szybki szkic … ale posiada bardzo ważna cecha, DZIAŁA
. Przede mną jeszcze sporo pracy:
- Ustalenie odpowiednich interface’ów
- Zaprojektowanie architektury aplikacji
- Obsługa wyjątków (reakcja na włączenie/wyłączenie GPS’u, WiFi itp.)
- Obsługa WiFi
- Reprezentacja zebranych danych na mapie
- Zapis całości w formie pliku wynikowego czy tez map w Google Maps
Na chwilę obecną tylko tyle przychodzi mi do głowy, pewnie jeszcze sporo rzeczy wyjdzie w “praniu”.
Do mojego zbioru przydatnych linków doszły dwa nowe elementy, głównie dzięki nim udało się mi tak szybko przebrnąć przez tą część
Kolejna porcja screenshot’ow:
-

openmoko-agpsui po zalpaniu FIX'a
-

wykres mocy sygnału z satelit
-

po załapaniu FIX'a można śledzić satelity
-

a ten wykres to nie wiem jak wytłumaczyć
zwłaszcza ze OM leżało cały czas w jednym miejscu
-

gpsdrive posiada ubogi zestaw map
-

zakładka status
-

TangoGPS inna palikacja do obsługi GPS'u
-

porównanie sieci autostrad przed euro 2012 by TagnoGPS

-

moja lokacja w szczecinie
-

jakość map jest całkiem dobra (przynajmniej na pierwszy rzut oka) ciekawe jak jest z ich dokładnością
-

mniejsze miasta też są całkiem dobrze odwzorowane (na screenie jest Drawsko Pomorskie)
-

JRE pod OpenMoko. Właściwie to jest to projekt CACAO, ciekawe na ile działa.
-

na koniec prosty hello OpenMoko w javie