アクティビティからサービスにデータを渡したいのですが。現在、を使用しようとしていますArrayList<HashMap<String, String>>
。これをサービスに渡すためにどのようなオプションがありますか?余分なデータとしてインテントに入れることを考えていましたが、どうすればいいのかわかりません。または、これをある種のグローバルとして設定することは可能ですか?
現時点では、アクティビティの静的として設定されており、サービスは、ArrayListからの次のアイテムで提供されるアクティビティにコールバックしています。それがどのように機能しているかに満足していないので、リストをサービスに移動したいと思います。
編集
以下に提起された質問への回答:
プレイリスト(うん、別のメディアアプリ)をサービスに渡そうとしています。プレイリストArrayList<HashMap<String, String>>
は、「songTitle」、「thisisatitle」などのペアの曲情報を制限します。
しかし、私はアプリケーションのライフサイクルに混乱していると思います。ユーザーが[再生]をクリックすると、サービスが作成されます。リストにスタティックを使用した場合、サービスが作成されると、そのリストが表示されます。そのため、サービスはこのリストの曲を引き続き喜んで再生します。ただし、ユーザーがフォルダなどを変更した場合、アプリにプレイリストの変更を認識させるにはどうすればよいですか?アプリの設計方法により、ユーザーはいつでもリスト内のトラックのチェックを外したり、別のフォルダーを参照したりできます。曲が完成したら、新しいリストをロードする必要があります。それを行うための最良の方法は何ですか?それとも、私が今やっている方法が最善の方法ですか?曲が完成したら、次のトラックを要求するメインアクティビティにブロードキャストを送り返します。この時点でサービスを破棄し、「次の曲」機能で再作成できるようにする必要がありますか?
ライフサイクルの混乱!