当前位置: 首页 > 知识库问答 >
问题:

在注册用户中保存性别选择

蒲勇
2023-03-14

我应该保存用户在注册时所做的选择,然后根据用户选择的性别使用它来创建一个自定义标记以在谷歌地图上使用。所以我需要记住所做的选择。我该怎么做?

注册活动

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_register);

    Toolbar toolbar = findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    getSupportActionBar().setTitle("Register");
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);

    username = findViewById(R.id.username);
    email = findViewById(R.id.email);
    password = findViewById(R.id.password);
    btn_register = findViewById(R.id.btn_register);

    firebaseAuth = FirebaseAuth.getInstance();

    // When register is clicked check if fields are empty and if password is longer than 6 characters and call register method
    btn_register.setOnClickListener(v -> {
        String txt_username = username.getText().toString();
        String txt_email = email.getText().toString();
        String txt_password = password.getText().toString();

        if (TextUtils.isEmpty(txt_username) || TextUtils.isEmpty(txt_email) || TextUtils.isEmpty(txt_password)) {
            Toast.makeText(RegisterActivity.this, "All fields are required", Toast.LENGTH_SHORT).show();
        }
        else if (txt_password.length() < 6) {
            Toast.makeText(RegisterActivity.this, "Password must be at least 6 characters", Toast.LENGTH_SHORT).show();
        }
        else {
            register(txt_username, txt_email, txt_password);
        }
    });
}

private void register(final String username, final String email, final String password) {
    // If register task is successful add a reference to Users
    firebaseAuth.createUserWithEmailAndPassword(email, password)
            .addOnCompleteListener(task -> {
                if (task.isSuccessful()) {
                    FirebaseUser firebaseUser = firebaseAuth.getCurrentUser();
                    assert firebaseUser != null;
                    String userid = firebaseUser.getUid();

                    reference = FirebaseDatabase.getInstance().getReference("Users").child(userid);

                    HashMap<String, String> hashMap = new HashMap<>();
                    hashMap.put("id", userid);
                    hashMap.put("username", username);  
                    hashMap.put("search", username.toLowerCase());
                    hashMap.put("address", "To be added");
                    hashMap.put("gender", "");

共有1个答案

郤飞英
2023-03-14

我不知道你的完整用例。你可以用几种方法来保存选择。

  1. 如果在同一活动中需要此值,则为局部变量
 类似资料:
  • 我必须在用户名下添加一个部分来询问用户的性别,我想通过一个包含两个选项(男性和女性)的菜单来完成。我该怎么办?编辑:如何保存用户在RegisterActivity中所做的选择 注册活动

  • 我正在尝试创建一个应用程序,我必须注册用户,我正在使用Firebase进行注册,一旦我将所有数据放入register,然后进入Firebase数据库,我发现我自己并不是在测试模式下创建数据库的注册用户。你能解释一下我可能做错了什么吗? 注册用户代码: 我正在使用实时数据库 规则Firebase:

  • 新增ISV有两种方式 方式1 启动sop-admin,在admin后台ISV管理添加 方式2 启动sop-website-server,用户访问自主注册

  • 接口说明 注册用户 如需调用,请访问 开发者文档 来查看详细的接口使用说明 该接口仅开放给已获取SDK的开发者 API地址 POST /usercenter/api/register/v1.0.0/registerUser 是否需要登录 否 请求字段说明 参数 类型 请求类型 是否必须 说明 loginName string formData 是 用户登录 mobile string formDa

  • 接口说明 注册用户 如需调用,请访问 开发者文档 来查看详细的接口使用说明 该接口仅开放给已获取SDK的开发者 如开启https功能,请求地址的协议应改为https,如:https://www.example.com/wish3dearth/api/access/v1.0.0/getLicenseInfo API地址 POST /usercenter/api/register/v1.0.0/reg

  • 我正在尝试一个LaravelPHP项目,因为我是这个框架的新手。我要做的第一步是建立一个登记表。但是,当我单击Submit按钮时,没有给出任何错误,并且在我的users表中没有注册任何内容。 以下是到目前为止我的项目的代码: 我的用户迁移表上下功能 我的注册表控制器具有重要功能 我的路线 我的User.php模型可填充 受保护的$fillable=['姓名','性别','年龄','电子邮件','密