Cześć,
Z firebase zaczytuje dane.
Klasa "Knigi.java":
package eu.kook.books;
public class Knigi {
private String Autor;
private String Numer;
private String Tytuł;
public Knigi() {
}
public Knigi(String autor, String numer, String tytuł) {
Autor = autor;
Numer = numer;
Tytuł = tytuł;
}
public String getAutor() {
return Autor;
}
public void setAutor(String autor) {
Autor = autor;
}
public String getNumer() {
return Numer;
}
public void setNumer(String numer) {
Numer = numer;
}
public String getTytuł() {
return Tytuł;
}
public void setTytuł(String tytuł) {
Tytuł = tytuł;
}
}
Klasa "FirebaseDataHelper.java":
package eu.kook.books;
import android.support.annotation.NonNull;
import android.widget.Toast;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;
import java.util.ArrayList;
import java.util.List;
public class FirebaseDatabaseHelper {
private FirebaseDatabase mDatabase;
private DatabaseReference mReference;
private List<Knigi> ksiazki = new ArrayList<>();
public interface DataStatus {
void DataIsLoaded(List<Knigi> ksiazki, List<String> keys);
void DataIsInserted();
void DataIsUpdated();
void DataIsDeleted();
}
public FirebaseDatabaseHelper() {
mDatabase = FirebaseDatabase.getInstance();
mReference = mDatabase.getReference("books");
}
public void readBooks(final DataStatus dataStatus) {
mReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
ksiazki.clear();
List<String> keys = new ArrayList<>();
for (DataSnapshot keyNode : dataSnapshot.getChildren()){
keys.add(keyNode.getKey());
Knigi kniga = keyNode.getValue(Knigi.class);
ksiazki.add(kniga);
}
dataStatus.DataIsLoaded(ksiazki, keys);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
}
Klasa MainActivity wyświetla zaczytane dane za pomoca RecycleView. I to działa. ALE....
Chciałbym jednak wyświetlać dane posortowane. I tu prośba o pomoc: jaki kod dodać w metodzie "readBooks" w klasie "FirebaseDataHelper.java", aby po sczytaniu zawartości firebase posortowało dane po autorze (od A do Z)?
Będę wdzięczny za Waszą pomoc