2012-04-18 12 views
0

音楽プレーヤーのコンテキストでは、私は今のところ2つの異なる方法でサービスが実装されているのを見てきました。androidでサービスを実装する適切な方法

最初の方法では、.aidlファイルが作成され、スタブが生成され、メインアクティビティにバインドされてサービスが実装されます。

2つ目の方法では、主なアクティビティは単なるUIです。UIからプレーヤを起動すると、音楽の再生アクティビティは常にバックグラウンドで実行されます(このメソッドはアンドロイドデベロッパーサイトで使用されました)。

そして、私は、アンドロイドの開発者サイトがもう1つを示唆しているにもかかわらず、aidlを使用することが非常に一般的な方法であることに気付きました。それで、ある方法を他の方法よりも使う利点はありますか? 1つの方法はより多くの脂肪または効率的ですか?また、私はまだ出くわしていない他の良い方法がありますか?どんな助けもありがとう。

+1

ローカルサービスを使用してください。より多くの電力が必要な場合は、リモートサービス(aidlを使用)を使用してください。 –

答えて

2

サービスが殺させずに処理を実行しているのアンドロイドの方法である一方、AIDLは、プロセス 間の通信の詳細です。

AIDL(Andoidインタフェース定義言語) あなたはAIDL When to use an aidl based service?

を理解するのに役立つかもしれここに掲載の質問はここでここでドキュメントを約AIDL http://developer.android.com/guide/developing/tools/aidl.html

だAndoidドキュメント http://developer.android.com/reference/android/app/Service.html

からサービスだすでにあり

+0

ありがとうございます。それが助けになった。 –

0

UI以外の別のスレッドで実行する必要がある音楽を再生しようとすると、非同期タスクを使用します。

http://developer.android.com/reference/android/os/AsyncTask.html

あなたがUIを更新するために呼び出すために必要なすべての機能が表示されます保護された方法のセクションをご覧ください。

乾杯

関連する問題