2017-04-26 12 views
-2

数週間前にAndroid開発を学びましたが、私は簡単な質問があります。MainActivityとなる活動は?

Facebookと同じようにLoginActivityとNewsFeedActivityを使ってアプリケーションを構築したいとしましょう。

ユーザーが既にログインしている場合は、ユーザーがアプリを開くたびにNewsFeedActivityがデフォルトの画面になります。

この場合、MainActivityの最適なシナリオは何ですか?ログイン画面かニュースフィードですか?

が私の通常の練習のためにあなたに

+0

主なアクティビティについてのあなたの見解は? –

+0

真の方法は、NewsFeedFragmentとLoginFragment =で1つのMainActivityです) – DEADMC

+2

"真の方法はNewsFeedFragmentとLoginFragment =があるMainActivityです)"あなたは冗談を言わなければなりません –

答えて

0

に感謝し、アプリでBaseActivityは、常にすべての活動に必要とされるものの機能のために、そこにあります。 LoginActivityとNewFeedActivityはBaseActivityを拡張する必要があります。アプリを起動するときに着陸アクティビティがある可能性がありますので、ログインした場合はNewFeedActivityにリダイレクトしてください。そうでない場合はloginActivityにリダイレクトしてください。

0

アンドロイドには、アクティビティのみがあり、それぞれがMainActivityを含む任意の名前にすることができます。あなたはMainActivityの概念を全く心配すべきではありません。 LoginActivityとNewsFeedActivityの2つのアクティビティを持つことができます(SplashActivityと呼ばれるもう1つのアクティビティ、スプラッシュスクリーンについてのアイデアを既に持っているか、あなたがそれを参照できることを願ってください)。ニュースフィード内では、各タブごとに異なるフラグメントを持つことができます。

1

ほとんどのアプリケーションで、MainActivityはSplashActivityです。ユーザーがSplashActivityにいる間、ビジネスロジックに基づいて適切なシナリオにユーザーを誘導することができます。

1

通常、最初の画面では、ユーザ情報を収集するスプラッシュ画面と、この画面呼び出しが必要なリモート設定は、アプリが起動した後に初めて実行され、ログインが成功した後はログイン画面に移行してから(ブールisUserLoggedIn)のような共有の設定とその後、ユーザーが再びアプリケーションを開くと、フィード画面に移動します。

フローは、スプラッシュ画面(必要な場合) - > LoginScreen(ログインしていない場合) - >フィードまたはホーム画面と同じです。

ユーザがログインしている場合、SplashScreen-> HomeScreenユーザがログアウトしない限り、このフローは常にこのようにしか流れません。

あなたが何か問題を感じたら、もう一度私に尋ねることができます。

+1

にリダイレクトされます。デバイスがルーツされている場合は、環境設定ファイルにアクセスできます。 – Neil

+1

私は通常の練習問題とセキュリティについての問題ではなく、彼がどのようにフローを達成できるかということだけを話しています!ありがとう! –

+0

あなたの答えを撃っていないので、他の人がこれらの答えを読んでいると言うだけで、セキュリティについて何も知らない人には誤解を招く恐れがあります。むしろ、将来の混乱を避けるために、正確かつ正確に答えてください。 – Neil

1

最高のことは、ログインアクティビティをランチャーの活動にすることです。 ユーザーがログインしている場合は、ニュースフィードアクティビティに移動します。

1

App LuncherアクティビティとしてMainActivityを考慮してください。アプリが起動されるたびに呼び出される必要があります。

MainActivityでは、さまざまな要因に基づいて他のアクティビティにナビゲートできます。例えば、彼がすでにログインしている場合は、ログイン活動ではなく、ニュースフィードに連れて行ってください。

MainActivityの滞在期間に基づいて、レイアウトを追加してスプラッシュ画面として使用できます。

希望します。

+0

素晴らしいアイデア、仲間。 –

1

ログイン認証を行い、ニュースフィード(NewsFeedActivity)にリダイレクトするLoginActivityがあるとします。

ユーザーがまだログインしていない場合、あなたのの主な活動だろうあなたのLoginActivityの内部では、あなたは、ユーザーが有効であるかどうかを決めるかに基づいて、OAuth2を使用することにより、いくつかの認証のためにチェックします。

OAuth2トークンには有効期間があるため、トークンが期限切れになる前にユーザーがログインすると、すべての認証チェックが再度実行されず、NewsFeedActivityに直接リダイレクトされます。

ユーザーが有効な場合、ユーザーは誰であるかに基づいてLoginActivityが新しいアクティビティを開始します。

最終的にアプリケーションをどのように設計するかによって異なります。これを行う方法はありません。

関連する問題