На первом изображении я хочу, чтобы дети находились под узлами - "19042020111313" & «19042020111506» - которые находятся под узлами «Список корзин -> Представление администратора -> 1122 -> Продукты» для вставки в узел «19042020185310» под узлом «Отгрузка», который является вторым изображением. Как это сделать? Обратите внимание, что я не хочу, чтобы узлы "19042020111313" и "19042020111506" (на первом изображении) были вставлены в узел "Отгрузка" (на втором изображении).
Это то, что я пробовал :
public class AdminNewOrdersActivity extends AppCompatActivity {
private RecyclerView ordersList;
private DatabaseReference cartListRef,shipRef;
private String saveCurrentDate,saveCurrentTime,productRandomKey;
//some more code here
private void addOrderToShipment(String uid, String uName, String uPhone, String uAddress, String uCity, String uState, String uPin, String uTotalAmount, String uDate, String uTime){
Calendar calendar=Calendar.getInstance();
SimpleDateFormat currentDate=new SimpleDateFormat("ddMMyyyy");
saveCurrentDate=currentDate.format(calendar.getTime());
SimpleDateFormat currentTime=new SimpleDateFormat("HHmmss");
saveCurrentTime=currentTime.format(calendar.getTime());
productRandomKey=saveCurrentDate+saveCurrentTime;
HashMap<String,Object> shipMap=new HashMap<>();
shipMap.put("PID",productRandomKey);
shipMap.put("UserName",uName);
shipMap.put("UserPhone",uPhone);
shipMap.put("UserAddress",uAddress);
shipMap.put("UserCity",uCity);
shipMap.put("UserState",uState);
shipMap.put("UserPin",uPin);
shipMap.put("TotalAmount",uTotalAmount);
shipMap.put("Date",saveCurrentDate);
shipMap.put("Time",saveCurrentTime);
shipRef.child(productRandomKey).updateChildren(shipMap)
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if(task.isSuccessful()){
//startActivity(new Intent(AdminAddNewProductActivity.this,AdminCategoryActivity.class));
}else{
String message=task.getException().toString();
}
}
});
cartListRef= FirebaseDatabase.getInstance().getReference()
.child("Cart List").child("Admin View").child(uid).child("Products");
cartListRef.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for(DataSnapshot ds:dataSnapshot.getChildren()){
String uKey= ds.getKey();
String uValue=ds.getValue().toString();
HashMap<String,Object> shipMap=new HashMap<>();
shipMap.put(uKey,uValue);
shipRef.child(productRandomKey).updateChildren(shipMap)
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if(task.isSuccessful()){
//startActivity(new Intent(AdminAddNewProductActivity.this,AdminCategoryActivity.class));
/
}else{
//String message=task.getException().toString();
//Toast.makeText(AdminNewOrdersActivity.this,"Error: " + message,Toast.LENGTH_SHORT).show();
}
}
});
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
}
Проблема в том, что l oop получает все данные из узлов "Список корзин -> Вид администратора -> 1122 -> Продукты", но они вставляются в узел "Отгрузка" -> "19042020185310" как один узел. Как мне вставить его как отдельные пары ключ-значение?