2014-05-18 43 views
1

這是我的第一個android應用程序,所以我有點困惑什麼是最好的方法來實現這一點。我應該使用後臺服務還是將AsyncTask用於此任務?

我的應用程序是會得到使用位置服務協調GPS,並將它們保存在一個基於PHP網站的在線MySQL數據庫。現在我已經有了檢索GPS座標的代碼,我正在將它傳遞給在線數據庫。我正在考慮使用AsyncTask通過發出POST請求連接到在線數據庫。由於應用程序會不斷地提供新座標,因此我計劃在我的活動的onLocationChanged()方法中執行AsynTask,因此每當座標更新時,新的更新座標也會在我的在線數據庫中更新。

現在我的問題是它沒關係在onLocationChanged()方法來執行我的AsyncTask或是否有更好的辦法?我應該創建一個服務來執行保存,並在onLocationChanced方法中啓動服務,該方法將在每次更新新座標時運行該服務。

另一個問題我已經是當用戶退出應用程序的,我假設我的應用程序將停止發送其座標到我的在線數據庫,如果我在使用活動的AsyncTask實現它。我應該創建一個服務,如果我希望它繼續發送座標,除非用戶想停止應用程序,他會打開它,也許按下按鈕來終止該服務。

任何幫助將不勝感激。由於

回答

2

與去,如果你想你的應用程序不斷的發送,即使用戶已導航從應用程序走,如果沒有必要再一個異步任務應該是足夠的位置,後臺服務。

注意:如果您的更新間隔短,說每分鐘多次例如..考慮分批多次更新,然後向他們發送一次,以節省電源和網絡帶寬

+0

謝謝你的答覆。我會堅持使用AsyncTask並讓我的應用程序首先工作。一旦它運行良好並且運行良好,我將來會修改它以嘗試使應用程序在後臺運行。 – Sunny

相關問題