Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/207.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在android中通过登录获取当前用户名_Java_Android_Eclipse_Login - Fatal编程技术网

Java 如何在android中通过登录获取当前用户名

Java 如何在android中通过登录获取当前用户名,java,android,eclipse,login,Java,Android,Eclipse,Login,我有一个android表单,它由登录名和主文件组成。 我想问的是如何获取当前用户名并将其显示在主xml文件中 例如,我以james01的身份登录,当我单击“登录”按钮时,我将被重定向到下一页,在下一页中有欢迎使用的james01 我有点需要你的帮助 答案总是受欢迎的^^最简单的方法是将用户名传递给第二个活动,您将使用该用户名启动该活动: Intent intent = new Intent(getBaseContext(), SecondActivity.class); intent.putEx

我有一个android表单,它由登录名和主文件组成。 我想问的是如何获取当前用户名并将其显示在主xml文件中

例如,我以james01的身份登录,当我单击“登录”按钮时,我将被重定向到下一页,在下一页中有欢迎使用的james01

我有点需要你的帮助


答案总是受欢迎的^^

最简单的方法是将用户名传递给第二个活动,您将使用该用户名启动该活动:

Intent intent = new Intent(getBaseContext(), SecondActivity.class);
intent.putExtra("USERNAME", username);
startActivity(intent);
String username = getIntent().getStringExtra("USERNAME");
然后在第二个活动中:

Intent intent = new Intent(getBaseContext(), SecondActivity.class);
intent.putExtra("USERNAME", username);
startActivity(intent);
String username = getIntent().getStringExtra("USERNAME");

选中将有两个选项

使用意图

使用首选项

使用意图

将参数传递给下一个acytivity

Intent n = new Intent(login.this, Home.class);
n.putExtra("UserName", _username);
startActivity(n);
在您的主页中:

Bundle extras = getIntent().getExtras();
if(extras!=null)
{
    userName.setText("Welcome to "+extras.getString("UserName"));
}
使用首选项

在您的登录页面中

preferences = PreferenceManager.getDefaultSharedPreferences(this);
Editor edit = preferences.edit();
edit.putString("pref_userName", userName);
edit.commit();
在你的主页上

pref_userName = preferences.getString("pref_userName", "n/a");
userName.setText("Welcome to "+pref_userName);
如果您有更多活动,并且希望在所有活动中显示用户名,那么我建议使用首选项。这很简单,还有一件事

如果您使用的是首选项,那么当您从应用程序注销时,不要忘记将字符串设为null

Intent i = new Intent(currentActivity.this,NextActivity.class);
i.putExtra("name",name.getText.toString());
StartActivity(i);
获取名称nextractivity.class

Intent i = getIntent();
String name = i.getStringExtra("name");
并将此名称设置为textview或toast。

LoginAcvtivity.java

intent.putExtra("USERNAME",_userText.getText().toString());
DestinationClass.java

String username = getIntent().getStringExtra("USERNAME");

final TextView textViewToChange = (TextView) findViewById(R.id.username);
textViewToChange.setText(username);
在xml中创建一个视图

android:id="@+id/username"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:textStyle="normal|bold|italic" />

这是我正在使用的一个应用程序的示例。

欢迎回答^^代码和努力都很感谢。对不起,我的不好。对这件事还不熟悉,所以还不知道怎么说谢谢。这可能会对你有所帮助。谢谢我肯定会读到:在意图部分,特别是在n.putExtraUserName中,_username;术语UserName是声明的还是与标记一样?用户名是我的列名,对吗?不再放文本视图可以吗?只需显示它?字符串username=getIntent.getStringExtraUSERNAME;,我应该使用文本视图还是不需要任何MROE?要在第二页中显示消息,请使用文本视图。例如textview.setTextWelcome+username;哦,谢谢你。在哪里放置文本视图?在onCreate部分?或者?您的第二个活动的布局应该包含此文本视图,因此它将位于setViewContent之后的onCreate中。我可以将其设置为toast而不是textview吗?