首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >firebase的实时数据库没有显示数据(显示null)

firebase的实时数据库没有显示数据(显示null)
EN

Stack Overflow用户
提问于 2021-06-05 02:47:12
回答 5查看 108关注 0票数 0

应用程序正在运行fine...just数据未显示...我已经添加了用户电子邮件在登录后显示,并且在登录活动中我已经添加了

代码语言:javascript
复制
FirebaseDatabase.getInstance().getReference().child("aj").child("name").setValue("aditya");

但在实时数据库中,数据不会显示,以防..i在尝试后等待半个小时,所有things..network也是好的。数据库中的数据库picture of database规则之前是

代码语言:javascript
复制
{
  "rules": {
    ".read": "now < 1625337000000",  // 2021-7-4
    ".write": "now < 1625337000000",  // 2021-7-4
  }
}

我读到这应该是真的,所以现在rules

并且added_firebase在初始化时给出了错误

代码语言:javascript
复制
 FirebaseDatabase mDatabase;
mDatabase = FirebaseDatabase.getInstance().getReference();

android studio想要像这样改变mDataBase的类型,现在不给出错误

代码语言:javascript
复制
DatabaseReference mDatabase;
mDatabase = FirebaseDatabase.getInstance().getReference();

app gradle文件

代码语言:javascript
复制
plugins {
    id 'com.android.application'
    id 'com.google.gms.google-services'
}

android {
    compileSdkVersion 30
    buildToolsVersion "30.0.3"

    defaultConfig {
        applicationId "com.example.firebase0"
        minSdkVersion 16
        targetSdkVersion 30
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

dependencies {

    implementation 'androidx.appcompat:appcompat:1.3.0'
    implementation 'com.google.android.material:material:1.3.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
    implementation 'com.google.firebase:firebase-auth:21.0.1'
    implementation 'com.google.firebase:firebase-database:20.0.0'
    testImplementation 'junit:junit:4.+'
    androidTestImplementation 'androidx.test.ext:junit:1.1.2'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
}

MainActivity.java //不适用于单个子代,即FirebaseDatabase.getInstance().getReference().child("aj").child("name").setValue("aditya");,也不适用于map .searched it...tried隐名模式,不同浏览器,数据库中devices...still为空

代码语言:javascript
复制
package com.example.firebase0;

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

import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

import com.google.android.gms.tasks.OnFailureListener;
import com.google.android.gms.tasks.OnSuccessListener;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;

import java.util.HashMap;

public class MainActivity extends AppCompatActivity {

    private Button logout;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        logout= findViewById(R.id.logout_button);
//        FirebaseDatabase  mDatabase;
//        mDatabase = FirebaseDatabase.getInstance().getReference();

        logout.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                FirebaseAuth.getInstance().signOut();
                Toast.makeText(MainActivity.this,"logged out successfully",Toast.LENGTH_SHORT).show();
                startActivity(new Intent(MainActivity.this, StartActivity.class));
            }
        });

        //FirebaseDatabase.getInstance().getReference().child("aj").child("name").setValue("aditya");
        //yha aj branch ka name child hai uski value aditya
        // agr ek branch ke ek se jada child bnane to hashmap
//        DatabaseReference mDatabase;
//        mDatabase = FirebaseDatabase.getInstance().getReference();



        HashMap<String , Object> map = new HashMap<>();
        map.put("name","aj");
        map.put("sirname","jain");
        map.put("desh","bharat");

        FirebaseDatabase.getInstance().getReference().child("aj_database").child("multiple_children").setValue(map).addOnSuccessListener(new OnSuccessListener<Void>() {
            @Override
            public void onSuccess(Void aVoid) {
                Toast.makeText(MainActivity.this,"Posted are Success",Toast.LENGTH_SHORT).show();
            }
        })
                .addOnFailureListener(new OnFailureListener() {
                    @Override
                    public void onFailure(@NonNull Exception e) {
                        Toast.makeText(MainActivity.this,"Posted are Failed\n"+e,Toast.LENGTH_SHORT).show();
                    }
                });;
    }
}
EN

回答 5

Stack Overflow用户

发布于 2021-06-05 02:58:00

添加onSuccessListener以了解写入是否已完成。

代码语言:javascript
复制
 HashMap<String , Object> map = new HashMap<>();
        map.put("name","aj");
        map.put("sirname","jain");
        map.put("desh","bharat");

mDatabase.child("aj database").child("multiple children").setValue(map)
        .addOnSuccessListener(new OnSuccessListener<Void>() {
            @Override
            public void onSuccess(Void aVoid) {
                // Write was successful!
                // ...
            }
        })
        .addOnFailureListener(new OnFailureListener() {
            @Override
            public void onFailure(@NonNull Exception e) {
                // Write failed
                // ...
            }
        });
票数 0
EN

Stack Overflow用户

发布于 2021-06-05 02:58:27

FirebaseDatabase.getInstance().getReference().child("aj database").child("multiple children").setValue(map);

有关follow this的更多信息

票数 0
EN

Stack Overflow用户

发布于 2021-06-05 04:06:49

代码语言:javascript
复制
public class User {  // Create user-class 
    public String name;
    public String surname;
    public String desh;
    
    public User {}
    
    public User(String name, String surname, String desh) {
        this.name = name;
        this.surname = surname;
        this.desh = desh;
    }
    
    @Exclude
    public Map<String, Object> toMap() {
        HashMap<String, Object> result = new HashMap<>();
        result.put("name", name);
        result.put("surname", surname);
        result.put("desh", desh);
        return result;
    }
    
}

public class MainActivity extends AppCompatActivity {

    // ...
    FirebaseDatabase mDatabase;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        mDatabase = FirebaseDatabase.getInstance().getReference();
        // ...

        writeNewUser("aj", "jain", "bharat");

    }
    
    // method to save new user
    private void writeNewUser(String name, String surname, String desh) {
        String userKey = mDatabase.child("users").push().getKey(); // a unique user key
        User user = new User(name, surname, desh);
        Map<String, Object> userValues = user.toMap();
        mDatabase.updateChildren(new HashMap<String, Object>().put("/users/" + userKey, userValues));
    }
    
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67842550

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档