【发布时间】:2020-04-02 07:46:34
【问题描述】:
我设法将数据插入身份验证,但无法插入数据库:
代码:
fullname = findViewById(R.id.Ifullname);
password = findViewById(R.id.Ipassword);
email = findViewById(R.id.Iemail);
RegisterBtn = findViewById(R.id.button);
fAuth = FirebaseAuth.getInstance();
fStore = FirebaseFirestore.getInstance();
loginBtn = findViewById(R.id.LoginBtn);
RegisterBtn.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
String FullName = fullname.getText().toString().trim();
String Password = password.getText().toString().trim();
String Email = email.getText().toString().trim();
fAuth.createUserWithEmailAndPassword(Email, Password).addOnCompleteListener(new OnCompleteListener<AuthResult>(){
@Override
public void onComplete(@NonNull Task<AuthResult> task){
if(task.isSuccessful()){
Toast.makeText(Register.this, "User Created.", Toast.LENGTH_SHORT).show();
UserID = fAuth.getCurrentUser().getUid();
DocumentReference documentReference = fStore.collection("users").document(UserID);
Map<String,Object> user = new HashMap<>();
user.put("FName", fullname);
user.put("Email",email);
user.put("Password",password);
//problem seems to be this line
documentReference.set(user).addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
Log.d(TAG, "onSuccess: user Profile is created");
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Log.d(TAG, "onFailure:"+e.toString());
}
});
错误:
E/AndroidRuntime:致命异常:主进程: com.example.budgetingapp,PID:11507 java.lang.RuntimeException:找到 类上名称 getText 的吸气剂冲突 androidx.appcompat.widget.AppCompatEditText 在 com.google.firebase.firestore.util.CustomClassMapper$BeanMapper.(com.google.firebase:firebase-firestore@@21.4.1:629) 在 com.google.firebase.firestore.util.CustomClassMapper.loadOrCreateBeanMapperForClass(com.google.firebase:firebase-firestore@@21.4.1:377) 在 com.google.firebase.firestore.util.CustomClassMapper.serialize(com.google.firebase:firebase-firestore@@21.4.1:177) 在 com.google.firebase.firestore.util.CustomClassMapper.serialize(com.google.firebase:firebase-firestore@@21.4.1:140) 在 com.google.firebase.firestore.util.CustomClassMapper.serialize(com.google.firebase:firebase-firestore@@21.4.1:104) 在 com.google.firebase.firestore.util.CustomClassMapper.convertToPlainJavaTypes(com.google.firebase:firebase-firestore@@21.4.1:78) 在 com.google.firebase.firestore.UserDataReader.convertAndParseDocumentData(com.google.firebase:firebase-firestore@@21.4.1:231) 在 com.google.firebase.firestore.UserDataReader.parseSetData(com.google.firebase:firebase-firestore@@21.4.1:75) 在 com.google.firebase.firestore.DocumentReference.set(com.google.firebase:firebase-firestore@@21.4.1:166) 在 com.google.firebase.firestore.DocumentReference.set(com.google.firebase:firebase-firestore@@21.4.1:146) 在 com.example.budgetingapp.Register$1$1.onComplete(Register.java:95) 在 com.google.android.gms.tasks.zzj.run(未知来源:4) 在 android.os.Handler.handleCallback(Handler.java:873) 在 android.os.Handler.dispatchMessage(Handler.java:99) 在 android.os.Looper.loop(Looper.java:193) 在 android.app.ActivityThread.main(ActivityThread.java:6669) 在 java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
【问题讨论】:
标签: android google-cloud-firestore