Я пытаюсь отобразить данные из моей базы данных Firestore на экране приложения android. Я перепробовал множество способов сделать это и следил за всеми видами обучающих видео, но до сих пор не могу заставить его работать. Я пытаюсь отобразить мой список пунктов меню.
вот изображение моей базы данных Firestore
ниже код java
package com.example.myopenlounge;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.view.menu.MenuAdapter;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import android.nfc.Tag;
import android.os.Bundle;
import android.util.Log;
import android.view.MenuItem;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
import android.widget.Toast;
import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.OnFailureListener;
import com.google.android.gms.tasks.OnSuccessListener;
import com.google.android.gms.tasks.Task;
import com.google.firebase.firestore.DocumentReference;
import com.google.firebase.firestore.DocumentSnapshot;
import com.google.firebase.firestore.FirebaseFirestore;
import com.google.firebase.firestore.QueryDocumentSnapshot;
import com.google.firebase.firestore.QuerySnapshot;
import java.util.ArrayList;
import java.util.List;
public class MenuActivity extends AppCompatActivity {
private ProgressBar progressbar2;
private RecyclerView recyclerView;
private BeveragesAdapter adapter;
private List<DocumentSnapshot> myListOfMenus;
public static final String TAG = "TAG";
private FirebaseFirestore db;
private DocumentReference docRef;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_menu);
progressbar2 = findViewById(R.id.progressBar);
// db = FirebaseFirestore.getInstance();
// db.collection("menu")
// .get()
// .addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
// @Override
// public void onComplete(@NonNull Task<QuerySnapshot> task) {
// if(task.isSuccessful()){
// for(QueryDocumentSnapshot document : task.getResult()){
// Log.d(TAG, document.getId() + " => " + document.getData());
// }
// } else{
// Log.d(TAG, "Error getting documents: ", task.getException());
// }
// }
// });
docRef = db.collection("menu").document("Beverages");
docRef.get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
@Override
public void onComplete(@NonNull Task<DocumentSnapshot> task) {
if (task.isSuccessful()) {
DocumentSnapshot document = task.getResult();
if (document.exists()) {
Log.d(TAG, "DocumentSnapshot data: " + document.getData());
} else {
Log.d(TAG, "No such document");
}
} else {
Log.d(TAG, "get failed with ", task.getException());
}
}
});
}
}
и это 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=".MenuActivity"
android:orientation="horizontal">
<ProgressBar
android:id="@+id/progressBar"
style="?android:attr/progressBarStyle"
android:layout_width="wrap_content"
android:layout_height="32dp"
android:layout_gravity="right"
tools:layout_editor_absoluteX="353dp"
tools:layout_editor_absoluteY="10dp" />
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" />
</ScrollView>
</LinearLayout>