2017-03-16 1 views
0

ブックノードの最後のキーを取得し、彼の値でインクリメントしたい++。Firebase Androidで最後のキーを取得するにはどうしたらいいですか?

私はこの試みた:私はjustBook 1は、addbookボタンをクリックした後、私はBOOK2を持っていたが、私はこの本、前BOOK2値3回目を追加しようとしたとき、初めに

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) { 

     } 
    }); 

enter image description here

をクラッシュし、新しいものはBook2の場所をタックします。

私が代わりに私がrundom idBook行われた増分idBookを探しているのは、この方法を変更しFirebaseデータベースに

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

解決策はありますか? @AL。 – Amal

+0

https://firebase.google.com/docs/database/android/lists-of-data#read_and_write_lists –

答えて

-1

をノードブックを作成するために、idBookを使用しています。

char[] chars = "abcdefghijklmnopqrstuvwxyz123456789".toCharArray(); 
     StringBuilder sb = new StringBuilder(); 
     Random random = new Random(); 
     for (int i = 0; i <4; i++) { 
      char c = chars[random.nextInt(chars.length)]; 
      sb.append(c); 
     } 
     String output = sb.toString(); 
     idBook=output+currentDateandTime; 
関連する問題