无法写入实时Firebase数据库,但运行正常

戴维德·奥莱尼克(Dawid Olejnik)

我正在尝试在iamit子项下创建一个新子项,该子项是新创建的用户ID。它将用户注册到身份验证,但是不注册到实时数据库,这保持不变。层次是用户->限制->用户ID

我看不到出了什么问题,我已经遵循了Google指南,应该可以正常工作。我在规则中有“ .read”:true,“。write”:true。

注册时不会引发任何错误,也不会崩溃。转到下一个活动,并显示使用ID创建的祝酒词,并且该用户显示在身份验证部分中。


import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.Toast;

import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.OnFailureListener;
import com.google.android.gms.tasks.OnSuccessListener;
import com.google.android.gms.tasks.Task;
import com.google.firebase.auth.AuthResult;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.firestore.DocumentReference;
import com.google.firebase.firestore.FirebaseFirestore;

import java.util.HashMap;
import java.util.Map;


public class confirmineed extends Activity {
 public static final String TAG = "TAG";
 String firstname,lastname,number,emailtxt,psw, userID;


 FirebaseAuth fAuth;
 ProgressBar progressBar;
 FirebaseFirestore fStore;
 FirebaseDatabase database;
 Button signupbtn;

 @Override
 protected void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.activity_confirmineed);
     Bundle bundle = getIntent().getExtras();
     assert bundle != null;

     firstname = bundle.getString("firstname");
     lastname = bundle.getString("lastname");
     number = bundle.getString("Pnumber");
     emailtxt = bundle.getString("email");
     psw = bundle.getString("psw");


     TextView name = (TextView) findViewById(R.id.name);
     final TextView pnumber = (TextView) findViewById(R.id.pnumber);
     TextView email = (TextView) findViewById(R.id.email);
     TextView role = (TextView) findViewById(R.id.role);
     name.setText(firstname + " " + lastname);
     pnumber.setText(number);
     email.setText(emailtxt);
     role.setText("I provide I.T. Support");


     signupbtn = findViewById(R.id.signupbtn);
     fAuth = FirebaseAuth.getInstance();
     fStore = FirebaseFirestore.getInstance();
     database = FirebaseDatabase.getInstance();
     progressBar = findViewById(R.id.progressBar2);
     progressBar.setVisibility(View.GONE);

     signupbtn.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View v) {

             progressBar.setVisibility(View.VISIBLE);
             // register the user in firebase

             fAuth.createUserWithEmailAndPassword(emailtxt,psw).addOnCompleteListener(new OnCompleteListener<AuthResult>() {

                 @Override
                 public void onComplete(@NonNull Task<AuthResult> task) {

                     if(task.isSuccessful()){
                         userID = fAuth.getCurrentUser().getUid();
                         Toast.makeText(confirmineed.this, "User Created." + userID, Toast.LENGTH_SHORT).show();

                         DocumentReference documentReference = fStore.collection("users").document(userID);
                         Map<String,Object> user = new HashMap<>();
                         documentReference.set(user).addOnSuccessListener(new OnSuccessListener<Void>() {
                             @Override
                             public void onSuccess(Void aVoid) {

                                 String user_id = fAuth.getCurrentUser().getUid();
                                 DatabaseReference myref = database.getReference().child("Users").child("iamit").child(user_id);
                                 myref.setValue(true);

                                 Log.d(TAG, "onSuccess: user Profile is created for "+ userID);

                             }
                         }).addOnFailureListener(new OnFailureListener() {
                             @Override
                             public void onFailure(@NonNull Exception e) {
                                 Log.d(TAG, "onFailure: " + e.toString());
                             }
                         });
                         startActivity(new Intent(getApplicationContext(),iamitlogin.class));

                     }else {
                         Toast.makeText(confirmineed.this, "Error ! " + task.getException().getMessage(), Toast.LENGTH_SHORT).show();
                         progressBar.setVisibility(View.GONE);
                     }
                 }
             });
         }


     });


 }


 public void onBackPressed(View view){
     Intent sendback = new Intent(this, signupend.class);
     sendback.putExtra("firstname", firstname);
     sendback.putExtra("lastname", lastname);
     sendback.putExtra("Pnumber", number);
     sendback.putExtra("email", emailtxt);
     sendback.putExtra("psw", psw);
     startActivity(sendback);
     overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_right);
 };


}
MMG

DatabaseReference myref = database.getReference().child("Users").child("iamit").child(user_id); myref.setValue("true");出来successlistener的。你把它放在阅读部分

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法从 Firebase 实时数据库获取数据

来自分类Dev

无法从 Firebase 实时数据库中检索数据

来自分类Dev

Firebase 实时数据库:无法从 Firebase 数据库发送或检索数据

来自分类Dev

无法将数据写入数据库Firebase Firestore

来自分类Dev

无法使用规则写入 Firebase 数据库

来自分类Dev

如何实时更新Firebase数据库?

来自分类Dev

Firebase实时数据库addValueEventListener

来自分类Dev

Firebase实时数据库-规则

来自分类Dev

如何实时更新Firebase数据库?

来自分类Dev

Firebase实时数据库addValueEventListener

来自分类Dev

Android:Firebase实时数据库

来自分类Dev

Firebase 实时数据库的问题

来自分类Dev

实时更新数据库 firebase

来自分类Dev

Firebase 实时数据库帖子

来自分类Dev

Firebase 数据库并发数据写入

来自分类Dev

在javascript中在运行时从firebase实时数据库动态获取数据

来自分类Dev

Firebase 实时数据库,无法检查现有数据的数据库,如果不存在则推送

来自分类Dev

无法将数据写入数据库

来自分类Dev

如果无法从Firebase实时数据库检索数据,则尝试在UITableView上显示消息

来自分类Dev

Firebase实时数据库:无法通过时间戳订购数据

来自分类Dev

无法将数据从 Firebase 实时数据库检索到 Web 应用程序中

来自分类Dev

无法写入mysql数据库

来自分类Dev

无法从python写入mysql数据库

来自分类Dev

无法对网络上的多个Firebase实时数据库进行身份验证

来自分类Dev

admin.firestore.FieldValue.serverTimestamp()无法与Firebase实时数据库一起使用

来自分类Dev

FireBase调度功能无法保存到实时数据库

来自分类Dev

iOS上的Firebase Realtime:无法访问实时数据库

来自分类Dev

无法将 JSON 对象插入 Firebase 实时数据库

来自分类Dev

无法使用 FIrebase 实时数据库通过他的电子邮件检索好友密钥

Related 相关文章

  1. 1

    无法从 Firebase 实时数据库获取数据

  2. 2

    无法从 Firebase 实时数据库中检索数据

  3. 3

    Firebase 实时数据库:无法从 Firebase 数据库发送或检索数据

  4. 4

    无法将数据写入数据库Firebase Firestore

  5. 5

    无法使用规则写入 Firebase 数据库

  6. 6

    如何实时更新Firebase数据库?

  7. 7

    Firebase实时数据库addValueEventListener

  8. 8

    Firebase实时数据库-规则

  9. 9

    如何实时更新Firebase数据库?

  10. 10

    Firebase实时数据库addValueEventListener

  11. 11

    Android:Firebase实时数据库

  12. 12

    Firebase 实时数据库的问题

  13. 13

    实时更新数据库 firebase

  14. 14

    Firebase 实时数据库帖子

  15. 15

    Firebase 数据库并发数据写入

  16. 16

    在javascript中在运行时从firebase实时数据库动态获取数据

  17. 17

    Firebase 实时数据库,无法检查现有数据的数据库,如果不存在则推送

  18. 18

    无法将数据写入数据库

  19. 19

    如果无法从Firebase实时数据库检索数据,则尝试在UITableView上显示消息

  20. 20

    Firebase实时数据库:无法通过时间戳订购数据

  21. 21

    无法将数据从 Firebase 实时数据库检索到 Web 应用程序中

  22. 22

    无法写入mysql数据库

  23. 23

    无法从python写入mysql数据库

  24. 24

    无法对网络上的多个Firebase实时数据库进行身份验证

  25. 25

    admin.firestore.FieldValue.serverTimestamp()无法与Firebase实时数据库一起使用

  26. 26

    FireBase调度功能无法保存到实时数据库

  27. 27

    iOS上的Firebase Realtime:无法访问实时数据库

  28. 28

    无法将 JSON 对象插入 Firebase 实时数据库

  29. 29

    无法使用 FIrebase 实时数据库通过他的电子邮件检索好友密钥

热门标签

归档