Я хочу создать программу, которая отображает дату, представленную в базе данных Firebase в реальном времени.В настоящее время моя программа показывает три переменные, которые являются строками в RecyclerView
.Я хочу получить дату, представленную в Firebase, а затем сравнить ее с сегодняшней датой.
Я показываю вам свой код:
Основная активность:
public class Documentation extends AppCompatActivity {
FirebaseDatabase firebaseDatabase;
FirebaseAuth mAuth;
FirebaseUser user;
DatabaseReference reference;
RecyclerView recyclerView;
ArrayList<Balloon> list;
MyAdapterDoc adapterDoc;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);;
recyclerView=(RecyclerView)findViewById(R.id.recycler_view);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
list=new ArrayList<Balloon>();
firebaseDatabase=FirebaseDatabase.getInstance();
mAuth=FirebaseAuth.getInstance();
user=mAuth.getCurrentUser();
//txt_user.setText(user.getEmail());
reference= FirebaseDatabase.getInstance().getReference().child(user.getUid());
reference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for(DataSnapshot dataSnapshot1:dataSnapshot.getChildren()){
Balloon b=dataSnapshot1.getValue(Balloon.class);
list.add(b);
}
adapterDoc=new MyAdapterDoc(Documentation.this,list);
recyclerView.setAdapter(adapterDoc);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
Log.w("Ch3","Failed to read value.", databaseError.toException());
}
});
}
MyAdapter:
public class MyAdapterDoc extends RecyclerView.Adapter<MyAdapterDoc.MyViewHolder> {
Context context;
ArrayList<Balloon> balloons;
public MyAdapterDoc(Context c,ArrayList<Balloon> b){
context=c;
balloons=b;
}
@NonNull
@Override
public MyViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
return new MyViewHolder(LayoutInflater.from(context).inflate(R.layout.balloon_item,viewGroup,false));
}
@Override
public void onBindViewHolder(@NonNull MyViewHolder myViewHolder, int i) {
myViewHolder.license.setText(balloons.get(i).getLicense());
myViewHolder.cda.setText(balloons.get(i).getCda());
myViewHolder.cdm.setText(balloons.get(i).getCdm());
}
@Override
public int getItemCount() {
return balloons.size();
}
class MyViewHolder extends RecyclerView.ViewHolder{
TextView license,cdm,cda,insurance;
public MyViewHolder(@NonNull View itemView){
super(itemView);
license=(TextView)itemView.findViewById(R.id.txt_license);
cda=(TextView)itemView.findViewById(R.id.txt_cda);
cdm=(TextView)itemView.findViewById(R.id.txt_cdm);
}
}
}
Класс воздушных шаров.В этом коде я добавил страховку объекта, которая является датой, но не уверен, что она верна:
public class Balloon {
private String license,cda,cdm;
//private boolean cda,cdm;
private Date insurance;
public Balloon() {
}
public Balloon(String license, String cda, String cdm) {
this.license = license;
this.cda = cda;
this.cdm = cdm;
this.insurance = insurance;
}
public String getLicense() {
return license;
}
public void setLicense(String license) {
this.license = license;
}
public String getCda() {
return cda;
}
public void setCda(String cda) {
this.cda = cda;
}
public String getCdm() {
return cdm;
}
public void setCdm(String cdm) {
this.cdm = cdm;
}
public Date getInsurance() {
return insurance;
}
public void setInsurance(Date insurance) {
this.insurance = insurance;
}
В Firebase мой документ JSON выглядит так: здесь
Спасибо:)