#java #android #android-recyclerview #google-cloud-firestore
# #java #Android #android-recyclerview #google-облако-firestore
Вопрос:
Я не могу получить данные из firestore, и я не получаю никаких ошибок и сбоев приложения.
зависимости с использованием:
реализация ‘com.firebaseui:firebase-ui-firestore: 7.1.1’
реализация ‘com.google.firebase: firebase-firestore: 22.0.0 ‘
мои правила firestore:
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write;
}
}
}
мой адаптер:
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import com.firebase.ui.firestore.FirestoreRecyclerAdapter;
import com.firebase.ui.firestore.FirestoreRecyclerOptions;
public class Adapter extends FirestoreRecyclerAdapter<Information, Adapter.nameHolder> {
public Adapter(@NonNull FirestoreRecyclerOptions<Information> options) {
super(options);
}
@Override
protected void onBindViewHolder(@NonNull nameHolder holder, int position, @NonNull Information model) {
holder.myName.setText(model.getMyName());
Log.e("hi",model.getMyName());
}
@NonNull
@Override
public nameHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.name_card,parent,false);
return new nameHolder(v);
}
class nameHolder extends RecyclerView.ViewHolder{
TextView myName;
public nameHolder(@NonNull View itemView) {
super(itemView);
myName = itemView.findViewById(R.id.myName);
}
}
}
Основной класс:
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;
import com.firebase.ui.firestore.FirestoreRecyclerOptions;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.firestore.CollectionReference;
import com.google.firebase.firestore.FirebaseFirestore;
import com.google.firebase.firestore.Query;
public class allNames extends AppCompatActivity {
private TextView nameType;
private RecyclerView myRecyclerView;
private FirebaseAuth fAuth;
private String userId;
private FirebaseFirestore firebaseFirestore = FirebaseFirestore.getInstance();
private CollectionReference collectionReference = firebaseFirestore.collection("Hi");
private Adapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_all_names);
nameType = findViewById(R.id.nameType);
myRecyclerView = findViewById(R.id.myRecyclerView);
/*fAuth = FirebaseAuth.getInstance();
userId = fAuth.getCurrentUser().getUid();*/
setUpRecyclerView();
}
private void setUpRecyclerView(){
Query query = collectionReference.orderBy("priority",Query.Direction.DESCENDING);
FirestoreRecyclerOptions<Information> options = new FirestoreRecyclerOptions.Builder<Information>()
.setQuery(query,Information.class).build();
adapter = new Adapter(options);
myRecyclerView.setHasFixedSize(true);
myRecyclerView.setLayoutManager(new LinearLayoutManager(this));
myRecyclerView.setAdapter(adapter);
}
@Override
protected void onStart() {
super.onStart();
adapter.startListening();
}
@Override
protected void onStop() {
super.onStop();
adapter.stopListening();
}
}
Я хочу получить только имя из firestore.
что можно сделать?
Комментарии:
1. Что именно в этом коде работает не так, как вы ожидаете? Пожалуйста, отредактируйте свой вопрос и добавьте свою структуру базы данных в качестве скриншота.
2. я ничего не получаю в своем приложении из firestore