2013-06-05 54 views
0

我正在開發一個跟蹤公共交通(巴士和電車)運動的應用程序。我正在做客戶端和服務器端。客戶端從服務器數據庫請求總線的位置,而服務器端只是一個簡單的應用程序,應該每隔10秒將當前位置發送到該服務器數據庫。是否有可能在android上每X秒獲取當前位置?

不要考慮表現,也不要考慮生活,沒關係。重要的應用程序是客戶端的應用程序,服務器端只是一個模擬,因爲如果我們在每輛車上都安裝了真實的GPS,它應該如何。所以忘掉服務器端的美食生活吧。

我讀過Android的時間間隔限制,通過網絡提供商獲取位置,並且此限制設置爲45秒鐘。有沒有可能以任何方式跳過這個限制?使用手機GPS來完成這項任務會更好嗎?

關於數據庫,我只存儲一個ID(自動增量)作爲主鍵,緯度,經度和時間戳。

我還想過如何在位置上偵聽更改,以及何時發生更改,向數據庫中添加新條目。如果我想檢查客戶端的位置,我會查找時間戳等於或小於當前時間的最後一個條目。但是如果限制設置爲45秒,這種方法也不會對我有幫助。

在此先感謝。

+3

「我讀過Android上有通過網絡連接發送座標的限制,並且此限制設置爲45秒鐘。」 - 我不知道你在說什麼。 – CommonsWare

+0

沒有表面的45秒的限制,不知道你在哪裏閱讀,但如果你從這個來源「學習」了其他東西,我會帶一粒鹽。 – FoamyGuy

+0

查看我的問題:http://stackoverflow.com/questions/15747543/locationlistener-of-network-provider-is-enabled-but-onlocationchanged-is-never 如果@CommonsWare或FoamyGuy可以看看它,我會非常感激,因爲我在這裏呆了很長時間 –

回答

1

您應該使用Google Play服務中最近添加的位置服務API中的新「Fused Location Provider」。關於如何完成這個here有一個很好的步驟。關於新位置API的好處是您不必決定GPS或網絡。 API內部將決定應該使用哪個提供者來爲您提供最準確的位置。另外,我從來沒有聽說過有關位置更新的限制。我很確定你可以每秒更新1次,不過引用了我的話。

+0

謝謝你的回答。我會看看它並儘快回傳。 –