2016-05-23 8 views
0

私はサービスのAPIを使い、アンドロイドのネットワーキングではかなり新しいです。同じサービスの複数のインスタンスを含む複数のファイルをアップロードする

複数の大きなファイルを同時に(ほぼ)アップロードしようとしています。例えば、ユーザーが2つのボタンをクリックすると、次々と新しいサービス(同じサービス、異なるインスタンス)が開始されます。

ほとんどの場合、すべてではないにしても、1つ以上のエラーがあります。ファイルが正しくアップロードされません。私が気付いたことは、あるサービスインスタンスがアップロードと停止を完了すると、他のサービスも停止することです。

私はServiceクラスについての私の観察と一緒に正しいですか?同じServiceの複数のインスタンスを同時に持つことはできませんか?

もしそうなら、私は同時に複数のファイルを同時にアップロードするつもりですか?

答えて

1

あなたはサービスクラスをよく理解していません。そのサービスのインスタンスは1つだけにしてください。とにかく、アップロードを処理するために、そのサービス内にキューやデータ構造を持たせることができます。タスクをアップロードするために異なるスレッドを使用するだけで、複数のファイルを同時にアップロードすることができます。 助けてくれるといいですか

+0

ありがとうございます。今ははるかに明確です。もう1つの質問:アップロードのために別のスレッドを使用する予定がある場合、stopSelf()をいつ呼び出すべきかを知る方法を教えてください。 – Mes

+1

ミューテックスやその他の同期方法を使用して、アップロードが実行中であるかどうかを常に確認できます。アップロードスレッドが実行されていない場合は、サービスを停止します。または、何も実行しないとすれば、サービスを実行したままにすることができます。P –

関連する問題