2011-08-05 18 views
0

我打算將功能添加到現有的Android應用程序。由於我沒有任何編程Android應用程序的經驗,我想知道如何實現這樣的功能。我已經研究過一段時間了,並且還做了一些關於Android應用的教程。Android:如何構建LBS應用程序中的GPS記錄功能

我當時的想法是這樣的:

我有用戶開始正常Activity做一些應用程序。這Activity已經存在,不應該是我的關注。 onCreate()它應另外啓動一個服務,該服務將定期請求一個while(true) -loop內的位置更新並將結果發送到ContentProvider,該存儲將存儲在SQLite db中的必要信息。

也應該有一個新的菜單項開始Gmaps視圖將觸發GmapsActivity然後加載在AsyncTask從DB在Gmap演示存儲的位置。

onDestroy()它會要求用戶在很短的Dialog如果他喜歡關記錄下來Service或繼續,用戶可以在以後審查Gmaps他的行程。

是否有可能以這種方式創建一個功能?我是否需要添加其他東西或以不同的方式完成其中的一部分?

回答

1

的onCreate(),它應該還啓動一個服務,將regulary請求,而內部的位置更新(真)-loop並將結果發送到將存儲在一個SQLite數據庫的信息所必要的ContentProvider的。

這不是一個好主意。 LocationManager可幫助您通過聽衆實現此目的。看起來你錯過了http://developer.android.com/guide/topics/location/obtaining-user-location.html。另一個很好的資源是http://android-developers.blogspot.com/2011/06/deep-dive-into-location.html

+0

所以,而不是服務我讓LocationManager工作?那是對的嗎?這也可以處理用戶可能想要關閉應用程序,但仍然希望日誌繼續的情況? – erikbwork

+0

不,這不是我的意思。我正在討論使用http://developer.android.com/reference/android/location/LocationListener.html而不是輪詢LocationManager。至於使用/不使用服務,您應該問自己的問題是「無論用戶是否使用該應用程序,此操作(需要跟蹤位置)」?如果你這樣做,使用服務。 –

相關問題