【发布时间】:2020-08-27 11:57:17
【问题描述】:
我在 Android Studio 上创建了非常简单的应用,我想连接到 Firebase。我创建了一个类:
public class Lek {
public String nazwa;
public String nazwa1;
public Lek() {
}
public String getNazwa() {
return nazwa;
}
public String getNazwa1() {
return nazwa1;
}
public void setNazwa(String nazwa) {
this.nazwa = nazwa;
}
public void setNazwa1(String nazwa1) {
this.nazwa1 = nazwa1;
}
}
在我的 MainActivity 中,我正在尝试连接到 Firebase 数据库:
public class MainActivity extends AppCompatActivity {
EditText e1, e2;
Button b1;
DatabaseReference reff;
Lek lek;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
e1 = findViewById(R.id.editText);
e2 = findViewById(R.id.editText2);
b1 = findViewById(R.id.button);
lek = new Lek();
reff = FirebaseDatabase.getInstance().getReference().child("lek");
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
lek.setNazwa(e1.getText().toString().trim());
lek.setNazwa(e2.getText().toString().trim());
reff.push().setValue(lek);
}
});
}
}
我还创建了简单的 .xml 文件:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<EditText
android:id="@+id/editText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textPersonName"
android:text="Name"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<EditText
android:id="@+id/editText2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textPersonName"
android:text="Name"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/editText" />
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/editText2" />
</androidx.constraintlayout.widget.ConstraintLayout>
但问题是数据没有正确上传到网站上。我设定了关于写作和阅读的规则。在 Android Studio 中,我已正确连接并正确设置了依赖项。当我尝试上传数据时,它们不会出现在网站上。我的 google 帐户在网站和 Android Studio 中是相同的。任何人都可以遇到同样的问题吗?
编辑: 我创建了成功和失败的 Toast 方法,但它确实在屏幕上不显示任何内容:
reff.child("lek1").setValue(lek)
.addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
// Write was successful!
// ...
Toast.makeText(MainActivity.this, "Success", Toast.LENGTH_LONG).show();
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
// Write failed
// ...
Toast.makeText(MainActivity.this, "Failed", Toast.LENGTH_LONG).show();
}
});
【问题讨论】:
-
您没有在调用 setValue() 时检查错误 - 可能出现问题。
-
我如何检查这个?
-
我创建了一个关于成功和失败的 Toast,但它确实没有在屏幕上显示任何内容:(
-
是否显示了这两条 Toast 消息之一?
标签: android firebase firebase-realtime-database