Zrobiłem aplikację Android, która wysyła współrzędne GPS do skryptu PHP (co sekundę), który wysyła je do bazy danych, która ma być przechowywana, a następnie program JavaScript ściąga współrzędne (co sekundę) i wyświetla je na mapie i śledzi użytkownika za pomocą znaczników i polilinii.Opóźnienie systemu Android podczas wysyłania do bazy danych
Mam jednak problem z niezawodnością aplikacji. Przetestowałem to w moim pokoju i jestem w stanie odbierać aktualizacje lokalizacji w porządku, ale kiedy byłem dzisiaj na zajęciach, telefon nie wysyłał współrzędnych. Wyszedłem na zewnątrz i natychmiast podniosłem sygnał, a moje współrzędne zostały wysłane, a następnie odebrane przez skrypt PHP. Czy jest coś, co mogę z tym zrobić, czy zawsze będę mieć problemy w dużych budynkach? Używam 2.2.3, jeśli to w ogóle pomaga.
Inną kwestią, którą posiadam, jest opóźnienie czasowe między naciśnięciem przycisku a uzyskaniem współrzędnych przez skrypt PHP. Zajmuje to około 20-30 sekund, zanim baza danych je zapisze. Wysyłam inne dane do innej tabeli i prawie natychmiast dostaję się do bazy danych. Czy to możliwe, ponieważ mam tyle programów, przez które muszą przejść współrzędne, czy też spodziewane jest opóźnienie czasowe, ponieważ telefon musi wykonywać bardziej złożone procesy w celu uzyskania współrzędnych? Czy jest coś, co mogę zrobić, aby skrócić ten czas opóźnienia?
Co można zrobić, aby przyspieszyć działanie? Istnieje tylko kilka wierszy kodu, aby dodać współrzędne do bazy danych za pomocą PHP. Czy byłoby bardziej prawdopodobne, że GPS potrzebuje trochę czasu, aby uzyskać lokalizację? – mkyong
Z mojego doświadczenia wynika, że może to zająć GPS w dowolnym czasie od 2-3 sekund do 15-20 sekund (może to również przerwać). Ale jeśli chcesz znaleźć źródło problemu, będziesz musiał zrobić trochę pracy, zamiast zgadywać;) – alfasin