如何获取Firebase Android中的最后一个密钥?

如何获取Firebase Android中的最后一个密钥?,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,我想获取book节点的最后一个键,并以his值++递增 我试过这个: myRefVal=databaseBook.getReference("books"); Query lastQuery = myRefVal.limitToLast(1); lastQuery.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataCh

我想获取book节点的最后一个键,并以his值++递增

我试过这个:

    myRefVal=databaseBook.getReference("books");
    Query lastQuery = myRefVal.limitToLast(1);

    lastQuery.addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {

            idBook = dataSnapshot.getKey();
            int counter = 1;
            counter = counter + 1;
            idBook = idBook + counter;
        }
        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });
一开始我只有Book1,点击addbook按钮后我有book2,但当我第三次尝试添加一本书时,以前的book2值崩溃,新的值固定在book2上的位置

我正在使用idBook在Firebase数据库中创建节点簿

myRefBook.child(idBook).setValue(bookInfos);

我没有使用方法来创建关键点,而是使用firebase的push方法来创建随机关键点节点:

private void createBook(String nom_livre,String cat_selected, String type_annonce_selected ) {

    bookInfos=new Book(nom_livre,cat_selected,type_annonce_selected);

        myRefBook.push().setValue(bookInfos);

}
我使用orderByKey和dataSnap.getKey来显示最后一个键:

  ref.orderByKey().limitToFirst(2).addListenerForSingleValueEvent(new ValueEventListener() {
                @Override
                public void onDataChange(DataSnapshot dataSnapshot) {

                     List<String> list = new ArrayList<String>();
                    for (DataSnapshot dataSnap : dataSnapshot.getChildren()) {

                        Book valueBook = dataSnap.getValue(Book.class);
                        keyId = dataSnap.getKey();

                        String titreLivreToDisplay = valueBook.getNom_livre();
                        String descLivreToDisplay = valueBook.getDesc_livre();

                       //Do what you want with the key Node

                  }}  });

你有解决办法吗@艾尔。