получение ArrayList объектов из Firestore - PullRequest
0 голосов
/ 01 августа 2020

сохраняю список объектов в 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 не может преобразовать в объект навыка

я хочу знать, как получить каждое поле в документе как объект навыка, поскольку я хочу добавить его в список ИЛИ, если есть более простая структура сохранения, и ее можно получить, как я хочу, как описано

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...