我有什么:我的 apk 有应有的任务。一个帐户的注册和我的apk的主菜单。
我想要什么:第一次启动应用程序时,必须显示注册表格。用户完成注册后(通过服务器检查),将启动应用程序菜单。(因此下次表单注册将不再启动。)
问题:我该怎么做?有人可以告诉我怎么做吗?一些教程或一些代码片段?
谢谢。
我有什么:我的 apk 有应有的任务。一个帐户的注册和我的apk的主菜单。
我想要什么:第一次启动应用程序时,必须显示注册表格。用户完成注册后(通过服务器检查),将启动应用程序菜单。(因此下次表单注册将不再启动。)
问题:我该怎么做?有人可以告诉我怎么做吗?一些教程或一些代码片段?
谢谢。
为此目的使用共享偏好。像这样在表单注册的 oncreat() 方法中使用它
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
}
您可以使用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);
}
}
}
O 使用 onStart 方法,因为完成后需要重新检查用户注册。
然后用户成功注册,你可以设置用户密钥这个代码:
SharedPreferences prefs = getSharedPreferences( PREFS_FILE, 0);
prefs.edit().putString("userKey", userKey ).commit();
另外,你可以结合startActivityforResult
一些额外的参考和解释可以在这里找到。
使用共享偏好来存储信息,无论用户是否已经注册。根据此节目注册或直接进入主菜单。
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();
}