2017-01-23 23 views
0

我刚开始用火力和IM的用户可以标记诊所就诊,所以我加上firabase一些规则一个项目工作数据。只有主人可以读和写他自己的约会。 我可以写没有问题firabase,但我不能从中读取。 这是我的代码:如何阅读从火力地堡数据库中具有基于规则的Android

我这是怎么取个数据

Firebase ref = new Firebase(Config.FIREBASE_URL).child("Consultas"); 


ref.addValueEventListener(new ValueEventListener() { 
      @Override 
      public void onDataChange(DataSnapshot snapshot) { 
       for (DataSnapshot postSnapshot : snapshot.getChildren()) { 
        //Getting the data from snapshot 
        Consultas consulta2 = postSnapshot.getValue(Consultas.class); 
        String consulta1 = "Consulta de: "+consulta2.getNomeconsulta()+"\n"; 
        String medico1 = "Com o Médico: "+consulta2.getNomemedico()+"\n"; 
        String data1 = "Marcada para: "+consulta2.getHorario()+"\n\n"; 
        String time = "Marcada para: "+consulta2.getTime()+"\n\n"; 

        textView1.setText(consulta1); 
        textView2.setText(medico1); 
        textView3.setText(data1); 
        textView4.setText(time); 

        progressBar.setVisibility(View.GONE); 
       } 
      } 

      @Override 
      public void onCancelled(FirebaseError firebaseError) { 
       System.out.println("The read failed: " + firebaseError.getMessage()); 
      } 
     }); 

这是我对火力

{ 
    "rules": { 
     // User profiles are only readable/writable by the user who owns it 
     "users": { 
     "$UID": { 
      ".read": "auth.uid == $UID", 
      ".write": "auth.uid == $UID" 
     } 
     }, 
//   Posts can be read by the user who owns it/ written by the user who owns it. 
     "Consultas": { 
     "$UID": { 
     ".read": "auth.uid == $UID", 
     ".write": "auth.uid == $UID" 
     } 
     } 
    } 
} 

感谢

+0

阅读更多关于它 textView1.setText(consulta1); textView2.setText(medico1); textView3.setText(DATA1); textView4.setText(time); 显示数据 –

+0

只有当读为真 –

+0

@EudesInácio你得到任何这解决方案? – VVB

回答

0

FirebaseRules用户规则===为相同的值,你要更改您的代码:

{ 
    "rules": { 
     // User profiles are only readable/writable by the user who owns it 
     "users": { 
     "$UID": { 
      ".read": "auth.uid === $UID", 
      ".write": "auth.uid === $UID", 
     } 
     }, 
//   Posts can be read by the user who owns it/ written by the user who owns it. 
     "Consultas": { 
     "$UID": { 
     ".read": "auth.uid === $UID", 
     ".write": "auth.uid === $UID", 
     } 
     } 
    } 
} 

您可以在official documentation

+0

它仍然没有工作 –

+0

我eddited的答案,我忘了两个逗号。它应该工作。无论如何,看看一个已经创建的规则,也许你正在覆盖你自己的规则与上层的条件。选中此项,例如: https://github.com/firebase/firechat/blob/master/rules.json –

+0

仍然没有奏效。我会选择链接。谢谢 –