클라우드 경우 FireStore 추가 문서와 문제 - 안드로이드 스튜디오

Yuli 밤 :

pls는이 주석 문제를 도와

나는이 안드로이드 코드를했습니다 :

private ArrayList serviceNameList = new ArrayList();

serviceNameList.add("windows");
serviceNameList.add("linux");
serviceNameList.add("mac");

다음, 난 내 데이터를 저장하는 경우 FireStore 사용

Map<String, Object> service = new HashMap<>();
            service.put("full_name", full_name.getText().toString());
            service.put("Services_names", Collections.singletonList(serviceNameList));

            firestore.collection("service").document("new_service")
                    .set(service)
                    .addOnSuccessListener(new OnSuccessListener<Void>() {
                        @Override
                            public void onSuccess(Void aVoid) {
                                Toast.makeText(getApplicationContext(), "Success..!",Toast.LENGTH_SHORT).show();
                            }
            })
                    .addOnFailureListener(new OnFailureListener() {
                        @Override
                            public void onFailure(@NonNull Exception e) {
                                String error = e.getMessage();
                                Toast.makeText(getApplicationContext(), "Error: " + error,Toast.LENGTH_SHORT).show();
                        }
            });

내가 댓글이 줄을 삭제하면 모든 잘 작동합니다 :

service.put("Services_names",Collections.singletonList(serviceNameList));

내가 다시 활성화하지만 내 응용 프로그램이 실패 ... 나는이 문제를 해결을 위해 내가 무엇을 할 수 있는지 알고 싶어 ...

감사합니다..!!!!

BTW, 이건 내 로그 캣입니다

2019-07-08 23:03:04.943 com.comas.app E: FATAL EXCEPTION: main
Process: com.comas.app, PID: 30989
java.lang.IllegalArgumentException: Invalid data. Nested arrays are not supported
    at com.google.firebase.firestore.core.UserData$ParseContext.createError(com.google.firebase:firebase-firestore@@19.0.2:293)
    at com.google.firebase.firestore.UserDataConverter.parseData(com.google.firebase:firebase-firestore@@19.0.2:270)
    at com.google.firebase.firestore.UserDataConverter.parseList(com.google.firebase:firebase-firestore@@19.0.2:307)
    at com.google.firebase.firestore.UserDataConverter.parseData(com.google.firebase:firebase-firestore@@19.0.2:272)
    at com.google.firebase.firestore.UserDataConverter.parseMap(com.google.firebase:firebase-firestore@@19.0.2:294)
    at com.google.firebase.firestore.UserDataConverter.parseData(com.google.firebase:firebase-firestore@@19.0.2:250)
    at com.google.firebase.firestore.UserDataConverter.convertAndParseDocumentData(com.google.firebase:firebase-firestore@@19.0.2:230)
    at com.google.firebase.firestore.UserDataConverter.parseSetData(com.google.firebase:firebase-firestore@@19.0.2:83)
    at com.google.firebase.firestore.DocumentReference.set(com.google.firebase:firebase-firestore@@19.0.2:175)
    at com.google.firebase.firestore.DocumentReference.set(com.google.firebase:firebase-firestore@@19.0.2:154)
    at com.comas.app.PopUpActivity$2.onClick(PopUpActivity.java:173)
    at android.view.View.performClick(View.java:6663)
    at android.view.View.performClickInternal(View.java:6635)
    at android.view.View.access$3100(View.java:794)
    at android.view.View$PerformClick.run(View.java:26199)
    at android.os.Handler.handleCallback(Handler.java:907)
    at android.os.Handler.dispatchMessage(Handler.java:105)
    at android.os.Looper.loop(Looper.java:216)
    at android.app.ActivityThread.main(ActivityThread.java:7593)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:987)2019-07-08 23:03:04.955 ? E: FaultDetect: DUMPTOOL_PRINTF return.
Parth 파텔 :

먼저 반복 처리 전체의 ArrayList의, 경우 FireStore에 ArrayList에 데이터를 저장합니다. 그런 다음 만의 HashMap에 해당 변수를 전달합니다.

private ArrayList serviceNameList = new ArrayList();

serviceNameList.add("windows");
serviceNameList.add("linux");
serviceNameList.add("mac");

Map<String, Object> service = new HashMap<>();
service.put("full_name", full_name.getText().toString());
service.put("Services_names", serviceNameList);

추천

출처http://43.154.161.224:23101/article/api/json?id=227198&siteId=1