私はSOに関するほとんどの質問と回答を読みましたが、私の場合、どちらに進むべきかまだわからないと言わざるを得ません。いくつかの方法がありますが、どちらが私の場合に最も適しているかを実際に判断することはできません。
私が持っているもの
アプリから開始するサービスがあります。ユーザーの現在の場所を確認し、読み取り場所を使用してWebサービスを呼び出します。これはxメートルごとに発生します。
入手したいもの
- 地図を使ってアクティビティを行い、サービスからの現在地の読み取り値を表示します。これは、私のアクティビティが読み取られた場所ごとに通知される必要があることを意味します。これはユーザーがアクティビティを開始したときにのみ使用されるため、サービスから各場所をブロードキャストすることは良い考えではないと思います。
- サービスに最後に読み取った場所を尋ねることができるアクティビティ。
- 前に述べたように、サービスは場所を読み取り、数秒ごとにWebサーバーに送信する必要があります。このための最良のアプローチは何でしょうか?インサービスでは、Webサービス呼び出しごとに新しいThread()を作成しますか?AsyncTaskを使用しますか?Webサービスからアクティビティを開始する必要がある場合など、応答としていくつかの追加の値を受け取ることがあります。
そうは言っても、私に何を使うことをお勧めしますか?これは良いアプローチでしょうか:例:メッセージングを使用したアクティビティとサービス間の通信?
LE:Webサービスにデータを送信するために、IntentServiceから単純なサービス+スレッドに切り替えました。私のIntentServiceの実装が開始され、すぐに破棄されました。おそらく私は何か間違ったことをしました...