如何在用户注册之前显示表单注册。

时间:2012-09-11 12:43:31

标签: android registration launch

我有什么:我的apk有适当的任务。 注册帐户和我的apk的主菜单。

我想要什么:首次启动应用程序时,必须显示注册表单。用户完成注册(使用服务器检查)后,将启动应用程序菜单。 (因此下次表单注册将不再启动。)

问题:我怎么能这样做?有人可以告诉我该怎么做?一些教程或一些片段代码?

感谢。

3 个答案:

答案 0 :(得分:0)

当用户已注册或未注册时,请使用shared preferencesstore信息。取决于此节目注册或直接进入主菜单。

public static final String PREFS_NAME = "PrefLogFile";
public static final String PREF_REGISTERED = "registered";
final SharedPreferences pref = getSharedPreferences(PREFS_NAME, MODE_PRIVATE);
    // sets righr preferences

    boolean registered = pref.getBoolean(PREF_REGISTERED, false);
    if (registered) {
        //go to main menu here
    }else{
     //do registration here


   //after registration is complete do this:       
   pref.edit().putBoolean(PREF_REGISTERED, true).commit();


    }

答案 1 :(得分:0)

为此目的使用共享首选项。在表格注册的oncreate()方法中使用它,如下所示

            protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub!!
    super.onCreate(savedInstanceState);


        SharedPreferences versionfile  = getSharedPreferences(PREFS_NAME,Context.MODE_PRIVATE);
         boolean  isRegister =versionfile.getString("Registration",false);
         if(isRegister){
                 setContentView(R.id.yourRegistrationlayout)
         }else
                      //Start menu Activity

     }

答案 2 :(得分:0)

您可以使用SharedPreferences。这些首选项可以保存用于此目的。

class MainMenu extends Activity {
  protected static final String PREFS_USER = "user";

  @Override
  public void onStart() {
    super.onStart(); //don't forget this, because you must call parent onStart method
    SharedPreferences prefs = getSharedPreferences( PREFS_FILE, 0);
    String userKey = prefs.getString("userKey", null );

    //if user key is not set yet, you should open registration Activity
    if (userKey == null) {
      Intent intent = new Intent(this, Registration.class);
      startActivity(intent);
    }
  }
}

使用onStart方法,因为您需要在完成后重新检查用户注册。

然后用户成功注册,您可以设置用户密钥为此代码:

SharedPreferences prefs = getSharedPreferences( PREFS_FILE, 0);
prefs.edit().putString("userKey", userKey ).commit();

此外,您可以与startActivityforResult

结合使用

可以建立一些额外的参考和解释here