2011-01-21 5 views
0

Androidアプリケーションのライフサイクルのベストプラクティス、およびアクティビティがそれにどのように適合するかを理解しようとしています。Androidアプリケーションでのアクティビティフローのベストプラクティス

たとえば、主なアクティビティ、つまり自分のアプリケーションの「家」のようなものがあります。しかし、スタートアップには、いくつかのケースに応じて、実行する必要があるいくつかのアクティビティがあります。その1つは、アプリが初めて実行されたことです。

私の「家」活動からこれらの「スタートアップ」/ハウスキーピング活動を呼び出すのがベストプラクティスですか?または、アプリケーションが「ハウスキーピング」アクティビティから始まり、作業を行い、終了して、「ホーム」アクティビティを開始する必要がありますか?このアドバイスのため

おかげで、

- Jは

答えて

2

私はあなたのホーム画面からあなたが最もよく行くと思われるものにあなたのLAUNCHER<intent-filter>を設定します。おそらく、それはあなたの "家"活動だろう。

このアクティビティのonCreate()では、必要な他のアクティビティがあるかどうかを判断します(たとえば、「初回実行」)。startActivity()を呼び出します。ユーザーがそこからBACKを押すと(または新しいアクティビティのfinish())、コントロールはあなたの "home"アクティビティに戻ります。

2

一つの可能​​性は、次の起動するかを決定スプラッシュ画面Activity(というよりも「家」1)から開始することです。

スタートアップ/ハウスキーピングがActivityで完了する必要があるかどうかを検討する必要があります。ユーザーが対話するものでない場合は、その機能を別のスレッドを実行するServiceに移動できます。

3

最高のユーザーエクスペリエンス(そしてよりクリーンなコード)を得るには、実際にアクティビティを連鎖させるべきではありません。

説明するシナリオのベストプラクティス(最初の起動時に特定のレイアウトのオプションが必要)は、初めて「ホーム」アクティビティが作成されたときにSharedPreferenceを設定することです。同じActivity.onCreate()コールでは、保存された値に基づいてUIが表示されるかどうかを判断する必要があります(たとえば、適切なViewの可視性をView.GONEに設定するか、別のlayout.xmlを選択するなど)。

追加のボーナスとして、次回のアプリケーションの変更時に変更ログを表示するために、アプリケーションのバージョン番号(たとえば、LastOpenedVersion)を仮想的な「公開済み」SharedPreferenceにオーバーロードして、アップグレード後の「ホーム」アクティビティ

関連する問題