2012-03-02 17 views
5

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?

Odpowiedz

1

Należy debugować swój kod po stronie klienta (aplikacja) i po stronie serwera (php). Utwórz unikatowy identyfikator dla każdej aktualizacji "transakcja" i wydrukuj ją po obu stronach:

* - w aplikacji - możesz podłączyć urządzenie do komputera i użyć funkcji Eclipse i add debug-printings. Jeśli chcesz być w stanie uciec od komputera - musisz print a log file na Android App

* Na stronie serwera można wykorzystać microtime() i wydrukować odpowiedni identyfikator z czasem otrzymania wniosku

+0

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

+0

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

Powiązane problemy