android - 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);
}
});
}
}
我不知道这里出了什么问题
解决方案
您应该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);
}
});
推荐阅读
- date - 雪花获取最近的上一个日期
- regex - 用于检查流利过滤器中的字符串的 Ruby 表达式
- mongodb - 从 MongoDB 的子数组中插入和删除项目
- git - Git 拒绝忽略符号链接
- javascript - 我无法使用 npm 安装 @tensorflow/tfjs-node
- android - 无法在 android studio SQLite 数据库中动态创建多个表
- ruby-on-rails - 运行守护进程时 Puma 不记录
- git-tfs - Git Tfs 未显示所有分支
- reactjs - 如何将数据传递到 react-chartjs-2 数据集以显示按类别分隔的费用分布?
- c# - 如何在不冻结应用程序的情况下延迟代码