gpt4 book ai didi

java - 如何将数据从一个 Activity 传递到下一个 Activity

转载 作者:行者123 更新时间:2023-12-02 10:21:52 25 4
gpt4 key购买 nike

我目前正在开发一个 Android 应用程序并使用 firebase 实时数据库。如何将用户数据从登录 Activity 传递到主页 Activity 的导航标题?

我应该在登录 Activity 中添加什么才能将用户数据传递到主页 Activity 的导航标题?

用户不需要输入用户名即可登录,但我希望从实时数据库中获取用户名并将其传递给导航标题。

Login.java

firebaseAuth.signInWithEmailAndPassword(email,password).addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {

@Override
public void onComplete(@NonNull Task<AuthResult> task) {
progressDialog.dismiss();
if(task.isSuccessful()){
finish();
startActivity(new Intent(getApplicationContext(),Home.class));

}
else
{

Toast.makeText(LoginActivity.this,"Login failed. Kindly check your email and password.",Toast.LENGTH_SHORT);
}
}
}

Home.java

View headerView = navigationView.getHeaderView(0);
useremail = (TextView)headerView.findViewById(R.id.HVuseremail);
useremail.setText(Common.currentUser.getName());
username = (TextView)headerView.findViewById(R.id.HVusername);
username.setText(Common.currentUser.getName());

我希望我的导航标题将显示用户邮箱和用户名。

最佳答案

如果您有少量数据(例如姓名、电子邮件),那么您可以使用上面 @ Mushirih 建议的 Intent putExtra 方法。

但是如果你有一堆数据集,你可以使用 Android Bundle Intent 将其传递到下一个 Activity 中,如下所示

LoginActivity类

        Bundle bundle = new Bundle();
bundle.putString("Name",value);
bundle.putInt("Phone",6752525);
bundle.putBoolean("IsMale",false);
//..................like so on ............
Intent intent = new Intent(LoginActivity.this,SecondActivity.class);
intent.putExtras(bundle);
startActivity(intent);

在 SecondActivity 类中,您可以像这样接收它:-

Bundle bundle = getIntent().getExtras();
String showtext = bundle.getString("Name"); //this for string
int phone = bundle.getInt("Phone"); // this is for phone
//.....like for other data...............

关于java - 如何将数据从一个 Activity 传递到下一个 Activity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54287549/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com