2016-07-29 7 views
0

多くのスライドを含むイントロページを持つアプリを構築しています。最初のユーザーがイントロを通過すると、彼はログイン画面に誘導されます。彼がログイン(または登録)すると、彼はアプリのホームページに入ります。ユーザーがサインアウトしない限り、彼がアプリアイコンをクリックすると、彼は直接ホーム画面に移動します。1つのインテントから別のインテントに移動する(ベストプラクティスは何ですか)

私はLAUNCHERアクティビティとしてイントロのページインテントを使用していて、sharedpreferenceを使用して「最初の使用状況」を保存し、状態を記録しています。ユーザーが初めてログインしたかどうかをテストすることで、私は彼を別の意図に導いています。

私の質問は、この目的のリダイレクトを行うのに最も適した位置はどこですか?イントロページには非常に多くのフラグメントとコンポーネントがあるため、LAUNCHERアクティビティとして設定し、if else文をすべて使用してユーザがどこに行かなければならないのかを判断して、システムリソースを浪費しましたか?ユーザーが既にログインしている場合は、読み込まれたアプリの紹介情報を表示せずにホームページに入ります。

空のアクティビティを作成し、それをLAUNCHERアクティビティとして設定し、その中にすべてのif else文を入れることをお勧めします。だからアプリは '重い'アプリ紹介ページに行く必要はありません。

PS:super.onCreate()の直後にonCreateのelse文がある場合は、その方向を宣言しました。すでに、新しいものを登録し、登録が、それでも賢明

のようなイントロを通過しませんでした:

@Override 
    protected void onCreate(Bundle savedInstanceState) { 

     // Fullscreen 
     requestWindowFeature(Window.FEATURE_NO_TITLE); 
     getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
       WindowManager.LayoutParams.FLAG_FULLSCREEN); 

     super.onCreate(savedInstanceState); 
     // activity_first_usage is the container for all frames 
     setContentView(R.layout.activity_first_usage); 

     logger = new Logger(this); 

     if (!logger.isFirstUsage()) { 
      if (logger.hasTOKEN()) { 
       // If user didn't log out, then he can stay in the app 
       Intent home = new Intent(getApplicationContext(), Home.class); 
       startActivity(home); 
       finish(); 
      } else { 
       // If this is not the first time user login in, no need to show the intro 
       Intent directToSignIn = new Intent(getApplicationContext(), SignIn.class); 
       startActivity(directToSignIn); 
       finish(); 
      } 
     } else { 
      // If not, continue with the Intro and set usage status to used 
      logger.setFirstUsage(false); 
      } 
... 
} 

答えて

0

病気

スプラッシュを使用して、ユーザーの状態などをチェックするための条件が使用あなたのコンセプトを教えて今、あなたが共有preff

  • がファイル
  • を書くことができます使用

    • にそれを識別

    詳細..

  • 列挙型の値を保持するか、サーバなどから取得することができます:あなたは、ユーザーがあなたのアプリをアンインストールし、あなたが何をする必要があるかit.Thenインストールし直したときに何が起こるかを考えることができます?あなた次第。

  • あなたはスプラッシュ にユーザの状態を識別したら、新しいものであればそれらの各

    に異なるインテントを書く - いない場合

    あなたのイントロを表示 - ロードメインメニューへあなたはcuzを決定する必要があり

    が、これは少し役に立てば幸い要件:)

    を知っています210
    関連する問題