【发布时间】:2018-09-02 06:00:54
【问题描述】:
我有一个聊天应用程序的方法,一切似乎都可以正常运行,但每次我尝试输入内容时都没有弹出任何内容。
当用户登录时,onActivityResult 显示成功消息:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == SIGN_IN_REQUEST_CODE) {
if (resultCode == RESULT_OK) {
Snackbar.make(activity_main, "Success. Welcome.", Snackbar.LENGTH_SHORT).show();
}
else {
Snackbar.make(activity_main, "Error", Snackbar.LENGTH_SHORT).show();
finish();
}
}
}
但是,它没有显示我的onCreate欢迎消息:
if(FirebaseAuth.getInstance().getCurrentUser() == null) {
startActivityForResult(AuthUI.getInstance().createSignInIntentBuilder().build(), SIGN_IN_REQUEST_CODE);
}
else {
Snackbar.make(activity_main, "Welcome " + FirebaseAuth.getInstance().getCurrentUser().getEmail(), Snackbar.LENGTH_SHORT);
//Load content
displayChat();
}
当输入消息时,也没有任何显示。我是不是查询不正确?
private void displayChat() {
ListView listOfMessage = findViewById(R.id.list_of_message);
Query query = FirebaseDatabase.getInstance().getReference();
FirebaseListOptions<Chat> options = new FirebaseListOptions.Builder<Chat>()
.setLayout(R.layout.list_item)
.setQuery(query, Chat.class)
.build();
adapter = new FirebaseListAdapter<Chat>(options) {
@Override
protected void populateView(View v, Chat model, int position) {
//Get reference to the views of list_item.xml
TextView messageText, messageUser, messageTime;
messageText = v.findViewById(R.id.message_text);
messageUser = v.findViewById(R.id.message_user);
messageTime = v.findViewById(R.id.message_time);
messageText.setText(model.getMessageText());
messageUser.setText(model.getMessageUser());
messageTime.setText(DateFormat.format("dd-MM-yyyy (HH:mm:ss)", model.getMessageTime()));
}
};
listOfMessage.setAdapter(adapter);
}
我的数据库似乎很好,输入没有错误:
{
"rules": {
".read": true,
".write": true
}
}
【问题讨论】:
-
显示你的数据库结构
-
@faiiziiawan 完成
-
对不起,我不是说规则,我的意思是你如何在 firebase 数据库中存储数据
-
只需通过 Firebase 电子邮件身份验证选项。
标签: android firebase firebase-realtime-database firebaseui