我想做一个欢迎屏幕,只做 1 次。它不应该是一个闪屏,因为我会放置一个 TextEdit 和一个按钮来获取用户的用户名。我需要查看一些可以执行此操作的代码示例,感谢您的光临!:D
4 回答
1.首先让用户在TextView中插入他的用户名。
2.当用户按下按钮时,请执行以下操作...
-在此凝视活动之后,用于Intent
移动到您想要转移他的下一个活动。
例如:
Intent i = new Intent(StartActivity.this, DesiredActivity.class);
- 现在,在您使用startActivity()
方法 withIntent
作为参数后,请使用finish()
方法,这将从 Back-Stack 中删除此StartActivity。
例如:
Intent i = new Intent(StartActivity.this, DesiredActivity.class);
startActivity(i);
finish();
现在,如果用户back button
从DesiredActivity
(你去的那个StartActivity
)按,应用程序将退出。
///////////编辑部分///////////////
您不希望您的应用程序不要再次进入第一个活动,在那里您已经给出了用户名..在第一次之后..对 ??????
-然后做到这一点......我会建议你做以下......
一世。首先将用户第一次输入的用户名保存到Shared Preference
或a或afile
中。Database
ii. 现在,当您打开您的应用程序时,让有一个thread
检查共享首选项或文件或数据库中的用户名是否存在,无论您保存在哪里。
iii. 如果找到让它移动到所需的活动,如果没有提示他输入用户名,那就是你第一次打开应用程序时会发生什么。
iv. 现在它也是关于用户友好性的,所以我建议你splash activity
在一开始就使用 a ,然后从这里触发你的检查线程。因此,当线程检查用户名时,用户不会因为看到空白屏幕而感到尴尬
开始活动。在OnCreate
中,检查是否Activity
已经显示。如果是,则开始下一个活动,如果不是,请保存您现在正在显示该活动。
您可以创建一个Activity
inonCreate
方法检查用户是否已经输入用户名,如果是则立即启动另一个活动或显示用户活动以输入用户名。
希望您将用户名存储在某处以检查它是否存在
有一个starting activity
可以决定下一个应该打开的活动是一次性欢迎屏幕还是应用程序的其他部分。
在第一个活动中:要知道之前是否打开过屏幕,您必须将一个布尔值保存到手机的内存中:如果读取的布尔值是 false(之前没有打开过屏幕),则显示一次性屏幕。否则屏幕之前已打开,这就是为什么您将前进到应用程序的其他部分。
保存布尔值:
public void writePrimitiveInternalMemory(String filename, boolean value) {
SharedPreferences preferences = game.getPreferences(Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putBoolean(filename, value);
editor.commit();
}
读取布尔值:
public boolean readPrimitiveInternalMemoryBoolean(String filename) {
SharedPreferences preferences = game.getPreferences(Activity.MODE_PRIVATE);
return preferences.getBoolean(filename, false);
}
我希望这有帮助。