2011-01-30 4 views
0

ユーザーが初めてAndroidアプリを読み込んだとき、アプリを設定するためのいくつかの段階が必要です。アプリを設定するためのAndroidダイアログセット

基本的には、1つのステップから次のステップに進む一連のダイアログが必要ですが、私はそれについての最良の方法を知らない。

+1

チェックに役立ちます。そして、初期化を行った後、その変数を設定します。 – Falmarri

答えて

1

私のアプリと同様のソリューションを実装しました。私は、アプリケーションが初めて実行されたことを示す環境設定にブレッドクラムを配置します。私はユーザーに表示される "ホーム"活動を持っています。 onCreateでは、この設定値を見て前にユーザーがアプリを実行したかどうかを確認します。

@Override 
protected void onCreate(Bundle savedInstanceState) 
{ 
    if(this.application.getPreferences().isFirstTimeRun()) 
    { 
     startActivity(new Intent(this, WizardStepOneActivity.class)); 
    } 
    else 
    { 
     startActivity(new Intent(this, MainActivity.class)); 
    } 
} 

ユーザーがアプリを実行していない場合、私は初期設定値を設定する(すなわち、ウィザードのような)を歩くために一連の活動を起動します。 onActivityResultを使用することで、設定手順をナビゲートできます。

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) 
{ 
    super.onActivityResult(requestCode, resultCode, data); 
    switch(requestCode) 
    { 
    case WIZARD_STEP_1: 
     Intent i = new Intent(this, WizardStepTwoActivity.class); 
     startActivityForResult(i, WIZARD_STEP_2); 
     break; 
    case WIZARD_STEP_2: 
     Intent i = new Intent(this, WizardStepThreeActivity.class); 
     startActivityForResult(i, WIZARD_STEP_3); 
     break; 
    case WIZARD_STEP_3: 
     //Set the breadcrumb to indicate that the user has set their preferences 
     this.application.setFirstTimeRunCompleted(); 

     //Start main activity 
     startActivity(new Intent(this, MainActivity.class)); 
     break; 

    } 

}

私はこれが最善の方法であるかどうかわからないんだけど、今のところ動作しているようです。明らかに、ブレーククラムを設定しても問題ないように、エラー処理が設定されていることを確認する必要があります。

希望これは、あなたのsharedpreferencesの設定のための ケビン

+0

ありがとう、これはこれまでのところ素晴らしいです! –

+0

お役立ち情報コードをもう一度見てみると、各ステップで新しいインテントを作成すると、ウィザードの手順の間に情報が渡されない可能性があります。 "data"パラメータを再利用して各ステップを起動し、同じインテント(したがって同じバン​​ドル)をステップ間で渡すことができるのだろうかと思います。とにかく...それはあなたのために働いてうれしい! – ktambascio

関連する問題