>source

사용자 자식 요소가있는 기존 FireBase 데이터베이스를 가지고 있으며, 이들은 내 응용 프로그램의 개 소유자를 나타냅니다. 나중에 각 소유자 아래에 새로운 개를 추가 할 수 있는지 궁금합니다. 각 개는 자체 세부 사항 (번식, 체중, 성별 등)을 가질 것입니다.

나는 내가 무엇을 해야할지 알고있는 것처럼 느낀다. 그러나 그냥 내 생각을 다음 주에 서클에서 주위에 가지 않을 희망으로 여기에 넣고 싶었다.

heres가 내 사용자가 가지고있는 것을 가입합니다 :

사용자 생성자 :

public class User {
    private String name, email, password;
    public User() {
    }
    public User (String email, String password) {
        this.email= email;
        this.password= password;
    }
    public User(String name, String email, String password) {
        this.name= name;
        this.email= email;
        this.password= password;
    }
    public String getName() {
        return name;
    }
    public String getEmail() {
        return email;
    }
    public String getPassword() {
        return password;
    }
}

자바 :

public class SignUp extends AppCompatActivity {
    TextView login;
    private Button signup;
    private EditText etFullName, etEmail, etPassword;
    private ProgressBar progressBar;
    private FirebaseDatabase firebaseDatabase;
    private DatabaseReference databaseReference;
    private FirebaseAuth mAuth;
    private User user;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.sign_up);
        mAuth= FirebaseAuth.getInstance();
        login= (TextView)findViewById(R.id.logIn);
        signup= (Button)findViewById(R.id.signUp);
        etFullName= (EditText) findViewById(R.id.fullName);
        etEmail= (EditText) findViewById(R.id.email);
        etPassword= (EditText) findViewById(R.id.password);
        progressBar= (ProgressBar) findViewById(R.id.progressBar);
        firebaseDatabase= FirebaseDatabase.getInstance("");
        databaseReference= firebaseDatabase.getReference("user");
        mAuth= FirebaseAuth.getInstance();
        signup.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String email= etEmail.getText().toString().trim();
                String password= etPassword.getText().toString().trim();
                String name= etFullName.getText().toString().trim();
                if(name.isEmpty()) {
                    etFullName.setError("Full name is required!");
                    etFullName.requestFocus();
                    return;
                }
                if(email.isEmpty()) {
                    etEmail.setError("Email is required!");
                    etEmail.requestFocus();
                    return;
                }
                if(!Patterns.EMAIL_ADDRESS.matcher(email).matches()) {
                    etEmail.setError("Please enter a valid email address.");
                    etEmail.requestFocus();
                    return;
                }
                if(password.isEmpty()) {
                    etPassword.setError("Password is required!");
                    etPassword.requestFocus();
                    return;
                }
                if(password.length() < 6) {
                    etPassword.setError("Password should be more that 6 characters.");
                    etPassword.requestFocus();
                    return;
                }
                user= new User(name, email, password);
                registerUser(email, password);
            }
    });
    }
    private void registerUser(String email, String password) {
        progressBar.setVisibility(View.VISIBLE);
        mAuth.createUserWithEmailAndPassword(email, password)
               .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
                   @Override
                   public void onComplete(@NonNull Task<AuthResult> task) {
                       if(task.isSuccessful()) {
                           Log.d("TAG", "Success -User Created");
                           FirebaseUser user= mAuth.getCurrentUser();
                           updateUI(user);
                       } else {
                           Log.w("TAG", "Failure -User not Created", task.getException());
                           Toast.makeText(SignUp.this, "Auth Failed", Toast.LENGTH_LONG).show();
                       }
                   }
               });
    }
    public void updateUI(FirebaseUser currentUser) {
        String keyId= databaseReference.push().getKey();
        databaseReference.child(keyId).setValue(user);
        Intent addNewDog= new Intent(this, AddNewDog.class);
        startActivity(addNewDog);
    }
}

나는 잠재적으로 CurrentUser를 찾고 새로운 아이 (?)를 만들고, 새로운 자식 가치를 개로 설정할 것인가? 나는 Mauth.CreateUserWithEmailandPassword 기능에 대해 조금 혼란 스럽습니다. 나는 물론 이것을 필요로하지 않는다고 가정합니다. 업데이트 옵션이 있습니까?

마지막으로 개를위한 새로운 생성자를 만들어야합니까? 또는 기존 사용자 생성자 아래에 세부 사항을하실 수 있습니까? 마지막으로, 나는이 섹션의 주로 스피너가 더 많은 문제를 일으킬 것입니까?

나는이 모든 것에 대해 여전히 배우고 도움과 조언에 크게 감사드립니다. 내가 당신을 도울 수있는 것을 놓친 것을 놓친다면 알려주세요!

  • 이전 php : LARAVLERTICE RETURNE NULL.
  • 다음 image : 이미지 또는 비디오가 한 장치에서 다른 장치로 전송되었음을 증명할 수있는 방법이 있습니까?