сохраняю список объектов в Firestore как ha sh map, используя следующий код
Map<String ,Object> skillMap = new HashMap();
for (int i =0; i < skillsList.size();i++){
skillMap.put(String.valueOf(i), skillsList.get(i));
}//end for
userProfileSkillsRef.set(skillMap,SetOptions.merge())
.addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
Log.d(TAG, "DocumentSnapshot successfully written!");
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Log.w(TAG, "Error writing document", e);
}
});
структуру данных на этой фотографии: Структура данных в Firestore
Я попытался отменить этот процесс при получении данных с помощью этого кода:
userProfileSkillsRef.get().addOnSuccessListener(new OnSuccessListener<DocumentSnapshot>() {
@Override
public void onSuccess(DocumentSnapshot documentSnapshot) {
skillsList.clear();
Map<String ,Object> skillMap = new HashMap();
skillMap = documentSnapshot.getData();
for (Map.Entry<String , Object> entry : skillMap.entrySet()){
Skill skill = entry.getValue();
skillsList.add( skill);
}//end for
skillAdapter.notifyDataSetChanged();
}
});
, но я столкнулся с ошибкой HashMap не может преобразовать в объект навыка
я хочу знать, как получить каждое поле в документе как объект навыка, поскольку я хочу добавить его в список ИЛИ, если есть более простая структура сохранения, и ее можно получить, как я хочу, как описано