У меня есть строковое значение ключа, которое мне нужно проверить с помощью ключа в базе данных. если эти 2 ключа равны, мне нужно выполнить определенные действия. Я пытался перебрать 2 случайных ключа, но он просто не работает. пожалуйста, помогите.
dataref = FirebaseDatabase.getInstance().getReference("Users");
@Override
public void onDeleteClick(int position) {
Upload selectedItem = mUploads.get(position);
final String selectedKey = selectedItem.getKey();
StorageReference imageRef = mStorage.getReferenceFromUrl(selectedItem.getImageUrl());
imageRef.delete().addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
dataref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot ds : dataSnapshot.getChildren()) {
for (DataSnapshot ds2 : ds.child("uploads").getChildren()){
String imgkey = (String) ds2.getKey();
if (imgkey.equals(selectedKey)){
Toast.makeText(ViewSellerProduct.this, "Item Removed", Toast.LENGTH_SHORT).show();
int num = (int) ds.child("sold").getValue();
ds.child("sold").getRef().setValue(num +1);
int num1 = (int) ds.child("points").getValue();
ds.child("points").getRef().setValue(num1 + 50);
}
}
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
Toast.makeText(ViewSellerProduct.this, databaseError.getMessage(), Toast.LENGTH_SHORT).show();
mProgressCircle.setVisibility(View.INVISIBLE);
}
});
mDatabaseRef.child(selectedKey).removeValue();
mmDatabaseRef.child(selectedKey).removeValue();
}
});
}
моя база данных:
"Users"
-RANDOM KEY
-address
-cty
-name
-points
-sold
-uploads
-RANDOM KEY
- imgurl
- name
По сути, я хочу увеличить продажи на 1 и на 50 пунктов при нажатии на кнопку удаления.
Обратите внимание, что я не могу получить текущий идентификатор пользователя, так как пользователь будет зарегистрирован как другой аккаунт.
ВЫХОД ПЕЧАТИ IMGKEY И SLECTEDKEY:
2019-05-25 23:22:21.279 2450-2450/com.example.re I/System.out:
imgkey=-LffFH8AMu_71RFeaHup
2019-05-25 23:22:21.280 2450-2450/com.example.re
I/System.out: slectedkey = -LfkRLtEiWCyqz51oSY2
2019-05-25 23:22:21.281 2450-2450/com.example.re I/System.out:
imgkey=-LfiHUz4wwrt0IT1tPM4
2019-05-25 23:22:21.281 2450-2450/com.example.re I/System.out:
slectedkey = -LfkRLtEiWCyqz51oSY2