2011-02-09 90 views
0

我必須開發一個應用程序,我必須不斷收集GPS,加速度計數據[尤其是,當用戶在運動時,即旅行,否則可以放鬆)。此外,我必須與網絡服務器通信並處理服務器的響應。所以對於這個(處理響應)部分應用程序應該不斷進行調查android應用程序設計

基於來自服務器的響應,我向用戶展示了UI。

我對設計不是很清楚。

我必須從我開始服務的地方創建活動。應該將服務作爲單獨的線程運行(這總是在後臺運行)。

我打算創建兩個服務。一項服務不斷收集GPS數據。

用於與Web服務器通信的其他服務[開始定時器/警報管理器]用於輪詢。 這兩個服務也可以相互通信。

同樣在處理響應frm服務器之後,服務應該能夠啓動用戶界面來顯示某種形式。我不清楚如何處理這個問題。

如果我必須連續收集GPS數據,還需要獲取wakelock。

請說明。

謝謝

回答

1

您可以使用AlarmManager進行輪詢。你只需要設置時間間隔。您會注意到大多數組件的應用程序,服務,活動都是上下文。所以他們都可以獲得應用上下文。思考溝通的方式是android消息/事件本質上是Intent。所以你定義你的定製意圖。你只需要給他們一個行動的自定義名稱。然後你使用Intent過濾器。您可以通過執行startService,startActivity來執行點對點消息傳遞,也可以廣播該意圖。我會建議你通過廣播意圖進行溝通。消息路由使用Intent過濾器進行處理。開始形式等將只是一個startActivity(意圖)和意圖本身可以包含使用intent.getExtras()。只要你能把它放在Bundle中,你就可以傳遞它並顯示出來。所以要回答你的問題,只需使用Intents即可。再次使用廣播和過濾進行通信和意圖,以開始顯示活動。

1

5月10日的Google I/O有一個名爲Android Pro Tips的下午會話。第一部分介紹了幾種不同的方法來讓您的應用程序更加持續的位置感知。