如何使用 Firebase 实时数据库?
Posted
技术标签:
【中文标题】如何使用 Firebase 实时数据库?【英文标题】:How can I use Firebase Realtime Database? 【发布时间】:2021-11-17 11:45:39 【问题描述】:我曾尝试使用 firebase 文档和 firebase 工具在 firebase 数据库上插入一条简单的消息,但这并没有更新。
我还在启动应用程序后添加了我的 Firebase 控制台的图片。
请帮我找bug!!!
MainActivity.java
public class MainActivity extends AppCompatActivity
@Override
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference("message");
myRef.setValue("Hello, World!");
Gradle 应用程序
plugins
id 'com.android.application'
id 'com.google.gms.google-services'
android
compileSdk 31
defaultConfig
applicationId "com.example.firebase_realtimedata001"
minSdk 21
targetSdk 31
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.1'
implementation 'com.google.android.material:material:1.4.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.0'
implementation 'com.google.firebase:firebase-database:20.0.2'
implementation platform('com.google.firebase:firebase-bom:28.4.1')
implementation 'com.google.firebase:firebase-analytics'
implementation 'com.google.firebase:firebase-database'
testImplementation 'junit:junit:4.+'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
控制台图片
【问题讨论】:
确保您已在实时数据库控制台中配置读写规则 您的数据库在美国中部的位置是什么?请回复@AlexMamo 【参考方案1】:您的代码运行良好。当我点击添加按钮时,Hello, World!
消息被添加到数据库中
public class MainActivity extends AppCompatActivity
@Override
protected void onCreate ( Bundle savedInstanceState )
super.onCreate ( savedInstanceState );
setContentView ( R.layout.activity_main );
Button addMessage = findViewById ( R.id.button );
addMessage.setOnClickListener ( v -> addMessage () );
public void addMessage ()
DatabaseReference myRef = FirebaseDatabase.getInstance ().getReference ( "message" );
myRef.setValue ( "Hello, World!" ).addOnCompleteListener ( new OnCompleteListener<Void> ()
@Override
public void onComplete ( @NonNull Task<Void> task )
Log.d ( "INFORMATION", "Added" );
);
点击addMessage按钮后实时数据库显示如下消息
确保您有如下所示的规则
【讨论】:
@niranjan1997 - 我试过了,但问题是一样的。 @AlexMamo - 我为数据库选择新加坡位置以上是关于如何使用 Firebase 实时数据库?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Cloud Functions for Firebase 更新 Firebase 实时数据库中的值
如何将我的 Firebase 实时数据库转移到 Firebase Cloud Firestore
如何将我的 Firebase 实时数据库转移到 Firebase Cloud Firestore
使用flutter如何在同一个App中使用多个firebase实时数据库