0
firebase를 처음 사용했습니다. firebase-database에 주어진 형식으로 데이터를 저장하려고합니다 :Firebase- 데이터베이스의 불일치 데이터가 Android 데이터베이스에 저장 중
approot{
uid{
name:"name"
add:"add"
phn:"phn"
}
uid2{
name:"name"
add:"add"
phn:"phn"
}
.......
등등. 이를 위해 나는 다음과 같은 코드를 작성했습니다 :
String phn = inputPhn.getText().toString().trim();
String add = inputAdd.getText().toString().trim();
String name = inputName.getText().toString().trim();
if (TextUtils.isEmpty(name)) {
Toast.makeText(getApplicationContext(), "Enter name!", Toast.LENGTH_SHORT).show();
return;
}
if (TextUtils.isEmpty(phn)||phn.length()!=10) {
Toast.makeText(getApplicationContext(), "Enter phone no.!", Toast.LENGTH_SHORT).show();
return;
}
if (TextUtils.isEmpty(add)) {
Toast.makeText(getApplicationContext(), "Enter address!", Toast.LENGTH_SHORT).show();
return;
}
//String info="Name:"+name+"\n"+"PhoneNo:"+phn+"\n"+"Adress:"+add+"\n";
String uId=auth.getCurrentUser().getUid();
myref.child(uId).child("name").setValue(name);
myref.child(uId).child("add").setValue(add);
myref.child(uId).child("phone").setValue(phn);
myref.child(uId).child("end").setValue("end");
auth.signOut();
내 문제는 내가에 일관성 중포 기지 데이터베이스에서 데이터 저장 얻고 있다는 것입니다. 데이터베이스에 저장된 데이터는 다음과 같습니다.
{
"User" : {
"ANj8GLEJS9alW11QYQyF8Rykwyn2" : {
"add" : "hzjs",
"name" : "hxjx"
},
"b0ZBftQ5UOOtTtzkeZHcC0558MC3" : {
"add" : "gw",
"name" : "hs"
},
"eH6rCXzvEncTe163N7KaJ7XEZp52" : {
"name" : "dudj"
},
"gEqc92Z0mvcfIWvhZu7QOhRcnNQ2" : {
"add" : "bsus",
"name" : "jziz",
"phone" : "1234567890"
},
"kGF2PalHrpeFus6682z55p47YBg2" : {
"add" : "hdud",
"name" : "jdhd"
},
"nHRt5n5roGfU3QogVUM09HDBrIw2" : {
"add" : "qwerty",
"end" : "end",
"name" : "q",
"phone" : "1234567860"
},
"pRRzexjQN1eynoCQcoClNl2TcHk2" : {
"add" : "dvjh",
"name" : "rhid"
},
"vaek3Z4eEVTWmc722T92tfgBwaE3" : {
"add" : "dhudvj",
"name" : "gsbud"
},
"xsH5JoTXftaxicUmvntt0N5hcNJ3" : {
"add" : "zhs",
"name" : "q"
}
}
}
도와주세요.
편집
나는 firebase 9.2.1을 사용하고 있습니다. 정의 과 규칙은 다음과 같습니다 -
{
"rules": {
".read": "auth != null",
".write": "auth != null"
}
}
포함 형식 A [CompletionListener] (https://firebase.google.com/docs/reference/android/com/를 사용, setValue의'에 대한 호출은()'실패 이유를 이해하려면 google/firebase/database/DatabaseReference.CompletionListener)'DatabaseError'의 값을 확인하십시오. 버전 9.2.1을 사용하여 결과를 재현 할 수 없습니다. 어떤 버전을 사용하고 있습니까? 모든 쓰기를 허용하도록 설정된 데이터베이스에 대한 보안 규칙이 있습니까? –
@qbix 질문에 추가 된 규칙과 규칙을 편집했습니다. –
'uId'가 자동 생성되었거나 맞춤 'uId'입니까? – triandicAnt