Я делаю приложение, которое после входа в систему вы можете просматривать данные базы данных реального времени (имя и адрес электронной почты), но только ваши собственные данные (от пользователя, который вошел в систему).Например, если вы войдете в систему с пользователем "hi@gmail.com", вы увидите только свой адрес электронной почты и свое имя.Активность входа в систему уже выполнена, и она работает с аутентификацией FireBase.Но когда я вхожу в систему, данные не отображаются.Где моя ошибка?
Я прикрепляю вам свой код Android Studio:
import android.view.ViewGroup;
import android.widget.TextView;
import com.firebase.ui.database.FirebaseRecyclerAdapter;
import com.firebase.ui.database.FirebaseRecyclerOptions;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.FirebaseUser;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
public class Documentation extends AppCompatActivity {
RecyclerView recyclerView;
FirebaseDatabase firebaseDatabase;
DatabaseReference databaseReference;
FirebaseUser user;
String uid_number;
FirebaseRecyclerOptions<Post> options;
FirebaseRecyclerAdapter<Post,MyRecyclerViewHolder> adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
recyclerView=(RecyclerView)findViewById(R.id.recycler_view);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
firebaseDatabase=FirebaseDatabase.getInstance();
databaseReference=firebaseDatabase.getReference("users");
user= FirebaseAuth.getInstance().getCurrentUser();
assert user != null;
uid_number=user.getUid();
displayComment();
}
private void displayComment() {
options =
new FirebaseRecyclerOptions.Builder<Post>()
.setQuery(databaseReference,Post.class)
.build();
adapter =
new FirebaseRecyclerAdapter<Post, MyRecyclerViewHolder>(options) {
@Override
protected void onBindViewHolder(@NonNull MyRecyclerViewHolder holder, int position, @NonNull Post model) {
holder.txt_name.setText(model.getName());
holder.txt_email.setText(model.getEmail());
}
@NonNull
@Override
public MyRecyclerViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View itemView = LayoutInflater.from(getBaseContext()).inflate(R.layout.post_item,viewGroup,false);
return new MyRecyclerViewHolder(itemView);
}
};
adapter.startListening();
recyclerView.setAdapter(adapter);
}
}
В моих правилах Firebase у меня есть:
{
"rules": {
"users": {
"$uid": {
".read": "auth != null && auth.uid == $uid"
}
}
}
}
Я прикрепляю вам изображениемоей базы данных:
![enter image description here](https://i.stack.imgur.com/Oi1lm.jpg)
Большое спасибо!