我正在开发一个Android应用程序,我在其中使用我的手机号码在启动画面上注册。我想要的是注册应该只需要一次,并且在安装应用程序时第一次。安装应用程序后,应用程序应该从另一个活动打开,而不是从启动画面打开。怎么可能。
答案 0 :(得分:4)
成功注册登录后,您必须将数据存储在SharedPreferences
。
AppTypeDetails是SharedPreferences的类。
AppTypeDetails.getInstance(SignUpActivity.this).setEmail(<Your Email ID>);
AppTypeDetails.getInstance(SignUpActivity.this).setPassword(<Your Password>);
<强> AppTypeDetails.java 强>
import android.content.Context;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;
public class AppTypeDetails {
private SharedPreferences sh;
private AppTypeDetails() {
}
private AppTypeDetails(Context mContext) {
sh = PreferenceManager.getDefaultSharedPreferences(mContext);
}
private static AppTypeDetails instance = null;
/**
*
* @param mContext
* @return {@link AppTypeDetails}
*/
public synchronized static AppTypeDetails getInstance(Context mContext) {
if (instance == null) {
instance = new AppTypeDetails(mContext);
}
return instance;
}
// get username
public String getEmail() {
return sh.getString("email", "");
}
public void setEmail(String email) {
sh.edit().putString("email", email).commit();
}
// get password
public String getPassword() {
return sh.getString("password", "");
}
public void setPassword(String password) {
sh.edit().putString("password", password).commit();
}
public void clear() {
sh.edit().clear().commit();
}
}
现在在启动画面中查看以下代码。
String email = AppTypeDetails.getInstance(SplashScreen.this).getEmail();
String pass = AppTypeDetails.getInstance(SplashScreen.this).getPassword();
if (email.trim().isEmpty() && pass.trim().isEmpty()) {
Intent intent = new Intent(SplashScreen.this, Login.class);
startActivity(intent);
} else {
Intent intent = new Intent(SplashScreen.this, MainScreenTabHost.class);
startActivity(intent);
}
清除SharedPreferences
:
注销时调用clear()方法。
答案 1 :(得分:0)
在启动类中,您应该检查应用程序是否第一次运行。如果是,那么继续,如果没有,则开始第二个活动。可以通过检查布尔值,将其存储在共享首选项中,并在每次启动时检查其值。
答案 2 :(得分:0)
尝试使用SharedPrefrence.But它不是完整的答案。显示您的SplashScreen检查您的用户是否注册。
Boolean REG_RESPONCE = new Session_manag(getActivity()).IsSessionCheckOrCreated();
if (REG_RESPONCE.equals(true)) {
Intent toHomeactivity = new Intent(Splash.this, MainMenu.class);
finish();
startActivity(toHomeactivity);
} else {
Intent i = new Intent(Splash.this, SignUp.class);
finish();
startActivity(i);
}
答案 3 :(得分:0)
这太容易处理了。您需要的是如何实现这一点的概念。所以我给你路线图,在互联网上搜索我要告诉你的事情。这些步骤如下
答案 4 :(得分:0)
您可以在启动画面上检查用户已使用号码注册的条件,因为您必须在SharedPreferences中保存该号码。 请按照以下步骤进行操作
步骤1:当用户第一次打开应用程序启动画面时,你可以检查数字条件。第一次,当用户加入应用程序值(数字)时,在SharedPreference中不存在。所以app会要求输入数字。当用户输入数字并提交时,将其存储在SharedPreferences中。
步骤2:现在,第二次当用户进入启动画面时,该条件成为真,因为SharedPreferences具有值(数字)。所以你可以在第二个活动上重定向应用程序。