0

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

たとえば、アプリケーションの「ホーム」のようなメイン アクティビティがあります。ただし、起動時に、アプリを初めて実行する場合など、いくつかのケースに応じて、実行する必要がある「可能性がある」アクティビティがいくつかあります。

これらの「スタートアップ」/ハウスキーピング アクティビティを「ホーム」アクティビティから呼び出すのがベスト プラクティスですか? それとも、アプリケーションは「ハウスキーピング」アクティビティから開始し、作業を行ってから、finish() して「ホーム」アクティビティを開始する必要がありますか?

これについてのアドバイスをありがとう、

-- J

4

3 に答える 3

3

最高のユーザーエクスペリエンス(およびよりクリーンなコード)を得るには、アクティビティを連鎖させないでください。

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

追加のボーナスとして:架空の「開かれた」SharedPreferenceをアプリのバージョン番号(たとえばLastOpenedVersion)でオーバーロードして、ユーザーが次に「ホーム」アクティビティを開いたときに変更ログをユーザーに提示できるようにすることができます。アップグレード。

于 2012-11-25T06:38:17.780 に答える
2

Activity1 つの可能性は、(「ホーム」画面ではなく)スプラッシュ画面から開始することです。これにより、次に何を起動するかが決まります。

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

于 2011-01-21T15:19:29.717 に答える
2

LAUNCHER <intent-filter>ユーザーがホーム画面から移動する可能性が最も高いものに設定します。おそらく、それはあなたの「家」の活動でしょう。

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

于 2011-01-21T15:28:11.707 に答える