Как подтолкнуть данные в FireBase, используя OrderByValue в Android? - PullRequest
0 голосов
/ 23 ноября 2018

В моем коде я отправляю данные, используя child, рассматриваемый как (ID), и каждый метод onfresh обновляет значения (val1, val2, val3), используя метод setvalue.Но при отправке данных они сохраняли данные в порядке возрастания, ссылаясь на идентификатор (каждый раз, когда идентификатор создается как дочерний, если дочерний элемент не существует, если он существует, обновляется значение).Поэтому я хочу сохранить данные такого типа, когда данные затем отправляются, данные должны храниться последовательно, как метод mdatarefrence.push().

mFireDatabase = FirebaseDatabase.getInstance();
    databaseReference = mFireDatabase.getReference().child("Matches").child("Match_"+getmatch_id).child("commentry");


    mCommentryAdpter = new CommentryAdpter( getContext(),R.layout.commentrytuple, applications);

    commentry.setAdapter(mCommentryAdpter);

    databaseReference.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(@NonNull DataSnapshot dataSnapshot, @Nullable String s)
{
    mCommentryEntry = dataSnapshot.getValue(CommentryEntry.class);
    mCommentryAdpter.add(mCommentryEntry);

     ListUtils.setDynamicHeight(commentry);

}

@Override
public void onChildChanged(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {

}

@Override
public void onChildRemoved(@NonNull DataSnapshot dataSnapshot) {

}

@Override
public void onChildMoved(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {

}

@Override
public void onCancelled(@NonNull DatabaseError databaseError) {

}

Условие при нажатии данных

   mCommentryEntry = new CommentryEntry(va1,val2,val3);   
                         databaseReference.child(ID).setValue(mCommentryEntry);

1 Ответ

0 голосов
/ 24 ноября 2018

Если вы хотите сгенерировать push-идентификатор, позвоните push() перед вызовом setValue():

mCommentryEntry = new CommentryEntry(va1,val2,val3);   
databaseReference.child(ID).push().setValue(mCommentryEntry);

Обратите внимание, что я не уверен, что ID есть в вашем фрагменте кода, поэтому япросто скопировал это здесь.Если вам нужен уникальный, хронологически упорядоченный дочерний ключ под databaseReference, вам нужно просто позвонить:

databaseReference.push().setValue(mCommentryEntry);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...