Я хочу удалить некоторые старые данные из моей пожарной базы, и мне трудно заставить это работать.ChildEventListener childEventListener = new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DAY_OF_MONTH, -30);
Log.d(TAG, "onChildAdded:" + dataSnapshot.getKey());
String key = dataSnapshot.getKey();
Marker retrievemarker =dataSnapshot.getValue(Marker.class);
Calendar t3 = new
GregorianCalendar
(c.get(Calendar.YEAR),
c.get(Calendar.MONTH),
retrievemarker.getSavedate());
int date1= calendar.get(Calendar.DATE);
int date2= t3.get(Calendar.DATE);
Log.d("date1",""+date1);
Log.d("date2",""+date2);
if( date1 == date2 ){
myRef.child(key).setValue(null);
}
< /code>
Для объяснения:
В моей пожарной базе я сохраняю объект с именем маркера, этот объект получил переменную для хранения сохранения, дату, когда объект был сохранен в огненной базе. < /p>
int date = c.get(Calendar.DATE);
marker.setSavedate(date);
< /code>
Я хочу удалить объект в пожарной базе через 30 дней. Поэтому я стараюсь вычесть 30 дней с сегодняшней даты, чем я хочу сравнить это с сохранением из объекта, если он будет равен, я удалю объект из огненной базы. < /P>
Для вычитания я ссылаюсь на ответ из следующего вопроса: как вывести x дней с даты, используя календарь Java? Если я добавлю объект сегодня в пожарную базу, две даты всегда равны.
Так что я думаю, что вычитание не работает. < /p>
Что я делаю не так? < /p>
Подробнее здесь: https://stackoverflow.com/questions/375 ... ter-n-days