在android上,我该如何为一个需要用户在完全启动应用程序之前输入用户名的应用程序创建一个提示?

在android上,我该如何为一个需要用户在完全启动应用程序之前输入用户名的应用程序创建一个提示?,android,mobile,android-activity,Android,Mobile,Android Activity,我将以我对安卓系统的研究还很陌生作为开场白 因此,我必须在现有的应用程序上工作,并创建一个屏幕,提示用户输入用户名。如果未输入用户名,则不会启动当前现有的主要活动(即,不会完全启动应用程序。相反,它只会坐在该屏幕上,直到输入用户名。) 我认为这相当于一个web应用程序登录页面,因为如果用户没有经过身份验证和授权,它不会让用户通过该页面。但是,此应用程序中没有身份验证或授权。相反,在第一次运行时,用户必须简单地使用用户名注册,该用户名将保存到数据库中,对于任何后续运行,应用程序的主要活动将简单地启

我将以我对安卓系统的研究还很陌生作为开场白

因此,我必须在现有的应用程序上工作,并创建一个屏幕,提示用户输入用户名。如果未输入用户名,则不会启动当前现有的主要活动(即,不会完全启动应用程序。相反,它只会坐在该屏幕上,直到输入用户名。)

我认为这相当于一个web应用程序登录页面,因为如果用户没有经过身份验证和授权,它不会让用户通过该页面。但是,此应用程序中没有身份验证或授权。相反,在第一次运行时,用户必须简单地使用用户名注册,该用户名将保存到数据库中,对于任何后续运行,应用程序的主要活动将简单地启动,因为用户已经注册到该手机。事实上,该应用程序不会再次提示用户输入其姓名,除非该应用程序连同其所有数据一起被删除并重新安装

这意味着我必须将用户名保存在数据库或其他类型的存储中

所以我想知道,在一个已有主要活动的应用程序中,什么是实现这一点的最佳方式

我应该尝试在现有的主活动上完成此操作,还是创建一个新的活动来显示此提示屏幕,并且实际上阻止主活动运行,直到用户输入其名称

任何教程或链接都会很有帮助,并提前感谢您的帮助。

将您的主要活动(主页意图)设置为要求提供凭据(用户名等)的对话活动。然后,当用户按下submit(或任何你想叫你的按钮)时,你启动应用程序的“主”活动,即登录屏幕后的第一个活动

启动登录屏幕时,检查用户是否已登录。如果是,请立即启动“主”活动并绕过登录。

让您的主活动(主页意图)成为要求提供凭据(用户名等)的对话活动。然后,当用户按下submit(或任何你想叫你的按钮)时,你启动应用程序的“主”活动,即登录屏幕后的第一个活动


启动登录屏幕时,检查用户是否已登录。如果是,请立即启动“主”活动并绕过登录。

为用户名和密码创建登录活动。。 如果用户是新用户。。首次注册… 然后获取输入的值并使用共享首选项存储它们,然后打开活动..如下

 SharedPreferences pref = context.getSharedPreferences("PREF_NAME", Context.MODE_PRIVATE);


pref.edit().putString("USERNAME", "PASSWORD").commit();<--Here use real username and password..


 pref.edit().clear().commit();
 Intent i=new Intent(this,youractivity.class);
startActivity(i);

希望很清楚..

为用户名和密码创建登录活动。。 如果用户是新用户。。首次注册… 然后获取输入的值并使用共享首选项存储它们,然后打开活动..如下

 SharedPreferences pref = context.getSharedPreferences("PREF_NAME", Context.MODE_PRIVATE);


pref.edit().putString("USERNAME", "PASSWORD").commit();<--Here use real username and password..


 pref.edit().clear().commit();
 Intent i=new Intent(this,youractivity.class);
startActivity(i);

希望它是清楚的。

也许与raju的答案相同-我是这样做的:

主要活动创建时:

if (!prefs.contains("username")) {
    startActivity(new Intent(this, Login.class));
    finish();
}
登录类登录完成并保存“用户名”后,重新启动主活动:

finish();
startActivity(new Intent(getApplicationContext(), Main.class));

非常简单,但性能很好。

可能与raju的答案相同-我这样做:

主要活动创建时:

if (!prefs.contains("username")) {
    startActivity(new Intent(this, Login.class));
    finish();
}
登录类登录完成并保存“用户名”后,重新启动主活动:

finish();
startActivity(new Intent(getApplicationContext(), Main.class));
非常简单,但性能很好