2011-01-30 102 views
0

用户首次加载我的Android应用程序时,我想要设置应用程序的几个阶段。用于设置应用程序的Android对话框设置

基本上我只想要一组对话,从一个步骤到另一个步骤,但我不知道最好的方式去做。

+1

您在您的sharedpreferences的设置。在完成初始化之后,设置该变量。 – Falmarri 2011-01-30 21:20:25

回答

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; 

    } 

}

我不知道这是否是最好的办法还是没有,但它似乎工作至今。显然,错误处理应该到位,以确保他们已经设置了偏好,所以可以设置面包屑。

希望这有助于 凯文

+0

非常感谢,迄今为止工作很好! – 2011-02-02 16:40:46