gpt4 book ai didi

android - 如何将注册期间从不同 Activity 收集的用户详细信息发送到最终 Activity ?

转载 作者:搜寻专家 更新时间:2023-11-01 09:43:19 24 4
gpt4 key购买 nike

我正忙于向我的应用程序添加注册功能,并且我有 4 个 Activity 用于收集用户信息。这些 Activity 应该收集用户输入的详细信息并将它们全部发送到最终 Activity ,在那里它们将被发送到数据库。

第一个 Activity 要求用户选择是使用电子邮件还是电话号码进行注册。

第二个 Activity 要求用户选择他们的用户名和密码。

第三个 Activity 要求用户添加更多个人详细信息以及将个人资料照片添加到他们的帐户。

最后一个 Activity 要求用户输入他们的地理详细信息,然后将从其他 Activity 发送的所有信息发送到数据库。

我面临的问题是,如果我使用 Intents,我需要将数据从一个 Activity 发送到另一个 Activity 。这给了我很多错误,我如何才能将每个 Activity 中收集的信息发送到最后一个 Activity ,然后一次性将它们全部发送。

最佳答案

您可以使用在所有 Activity 之间保留单个对象的单例设计模式。

例如:

public class SignUpSingleton {
private int emailOrPhone;

private String username;
private String password;

private String firstName;
private String lastName;

private String country;
private String city;
//remaining fields here

private static SignUpSingleton instance = new SignUpSingleton();

private SignUpSingleton(){}

public static SignUpSingleton getInstance(){
return instance;
}


public int getEmailOrPhone() {
return emailOrPhone;
}

public void setEmailOrPhone(int emailOrPhone) {
this.emailOrPhone = emailOrPhone;
}

public String getUsername() {
return username;
}

public void setUsername(String username) {
this.username = username;
}

public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password;
}

public String getFirstName() {
return firstName;
}

public void setFirstName(String firstName) {
this.firstName = firstName;
}

public String getLastName() {
return lastName;
}

public void setLastName(String lastName) {
this.lastName = lastName;
}

public String getCountry() {
return country;
}

public void setCountry(String country) {
this.country = country;
}

public String getCity() {
return city;
}

public void setCity(String city) {
this.city = city;
}

在第一个 Activity 中:

        SignUpSingleton.getInstance().setEmailOrPhone(1); //1 or 2

在第二个 Activity 中:

        SignUpSingleton.getInstance().setUsername("Tom");
SignUpSingleton.getInstance().setPassword("pass");

以此类推。

在最后一个 Activity 中,您可以一次将所有数据发送到数据库,例如:

storeInDb(
SignUpSingleton.getInstance().getEmailOrPhone(),
SignUpSingleton.getInstance().getUsername(),
SignUpSingleton.getInstance().getPassword(),
SignUpSingleton.getInstance().getFirstName(),
SignUpSingleton.getInstance().getLastName(),
//remaining params here

);

假设您有一个名为 storeInDb 或类似名称的方法,其中包含数据库代码。

关于android - 如何将注册期间从不同 Activity 收集的用户详细信息发送到最终 Activity ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38943414/

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