web-dev-qa-db-ja.com

Androidアプリでリソースをロードしているときに画面をスプラッシュする

リソース(画像とサウンド)の読み込み中にスプラッシュスクリーンが欲しいのですが。すべてが読み込まれていることを確認するにはどうすればよいですか?アプリの起動時にすべてのリソースが読み込まれていますか?

ありがとう

14
jul

Android=にスプラッシュスクリーンを適切に実装するには、次のようにします。

  1. ユーザーに進行状況を示すフォアグラウンド画面を表示します。
  2. 不確定な時間がかかるタスクを実行するためにバックグラウンドスレッドを実行します。
  3. バックグラウンドで進行状況を表示するにはフォアグラウンドが必要なので、両方のスレッドがそれらの間で通信します。
  4. タスクの実行が終了したら、バックグラウンドスレッドを正しく強制終了します。 AndroidでAsyncTaskを使用することを計画している場合、そこに問題があります。( Link

私はこのチュートリアルを見つけて、強くお勧めします: http://www.41post.com/4588/programming/Android-coding-a-loading-screen-part-1

パート1ではこの基本的なタスクを実行し、パート2ではAsyncTaskを正しく強制終了する方法を示します。そして、パート3では、ProgressActivityではなくカスタマイズされたビューを前面に配置します。

22

これで、プログレスバーを使用してSplashScreenを作成する方法についてのチュートリアルを書きました。
http://blog.blundellapps.com/tut-splashscreen-with-progress-bar/

基本的には、スレッドの代わりにASyncTaskを開始し、progressSpinnerへの参照をASyncTaskに渡します。これにより、スレッドがリソース(または必要な処理)をダウンロードするときに、それが更新されます。

enter image description here

5
Blundell

すべての読み込みをasyncTaskで実行してから、onPostExecuteでスプラッシュ画面を削除できます。これにより、ANRポップアップの原因となる可能性のある高価なタスクを実行しているときに、UIスレッドをブロックしないようにすることができます。

5
csaunders

これを行う方法についての完全なチュートリアルを以下に示します。私はこれを自分で使って素晴らしい結果を得ました。

http://www.barebonescoder.com/2010/04/a-simple-Android-splash-screen/

2
Kevin Parker