Я новичок в Firestore. Я использовал функцию set для хранения данных в firestore. Моя база данных выглядит следующим образом:
Park -->Krishna -->802 -->2020 -->1 -->5 --> block:"Krishna"
date:"5/01/2020"
units:"100"
Park -->Godavari -->101 -->2020 -->1 -->8 --> block:"Godavari"
date:"8/01/2020"
units:"200"
Мне нужно получить доступ к единицам и отобразить их с помощью Toast.
Мой XML код:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
android:orientation="vertical"
>
<Button
android:id="@+id/get"
android:layout_width="100dp"
android:layout_height="50dp"
android:text="Fetch data" />
<TextView
android:id="@+id/textDisplay"
android:layout_width="match_parent"
android:layout_height="70dp"
/>
</LinearLayout>
И мой java код:
Button fetch;TextView td;
fetch = (Button)findViewById(R.id.get);
td=(TextView)findViewById(R.id.textDisplay);
DocumentReference user = db.collection("park").document("Godavari").collection("101").document("2020").collection("1").document("8");
efetch.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(),"Clicked on fetch",Toast.LENGTH_LONG).show();
user.get().addOnSuccessListener(new OnSuccessListener<DocumentSnapshot>() {
@Override
public void onSuccess(DocumentSnapshot documentSnapshot) {
if(documentSnapshot != null && documentSnapshot.exists())
{
Log.i("Data is",documentSnapshot.getData("units").toString());
td.setText(documentSnapshot.getData("units").toString());
}
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Toast.makeText(getApplicationContext(),"Unable to fetch data",Toast.LENGTH_LONG).show();
}
});
} });
Когда я нажимаю кнопку «Получить», я должен получить единицы измерения (в данном случае это 200) и отобразить их в моем текстовом виде.
Но когда я нажимаю Кнопка «Получить», показывает, что «documentSnapshot» имеет значение null.
Как я могу решить эту проблему?