首页 > 解决方案 > Firebase实时数据库写入崩溃android应用程序

问题描述

我正在尝试编写一个简单的代码来写入 firebase 实时数据库。但是,当打开写入数据库的活动时,它会使应用程序崩溃。这是我正在使用的代码:

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;

public class main_view extends AppCompatActivity {

    Button button = findViewById(R.id.button);

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main_view);

        FirebaseDatabase database = FirebaseDatabase.getInstance();
        final DatabaseReference mRef = database.getReference("message");



        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String messageValue = "Hello world";
                mRef.setValue(messageValue);

            }
        });
    }
}

我不知道这里出了什么问题

标签: androidfirebasefirebase-realtime-database

解决方案


您应该findViewById()在布局膨胀后调用 onCreate 方法。您在布局膨胀之前在 onCreate 外部初始化变量按钮,因此它设置为 null。

Button button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String messageValue = "Hello world";
                mRef.setValue(messageValue);

            }
        });

推荐阅读