MessageSenderId = mAuth.getCurrentUser().getUid();
MessageRecieverId = getIntent().getStringExtra("visit_user_id");
private void sendMessage() {
String messageText = messageArea.getText().toString();
if (TextUtils.isEmpty(messageText)) {
Toast.makeText(getApplicationContext(), "Can't Send Blank Message", Toast.LENGTH_SHORT).show();
} else {
String message_sender_ref = "Messages/" + MessageSenderId + "/" + MessageRecieverId;
String message_reciver_ref = "Messages/" + MessageRecieverId + "/" + MessageSenderId;
Map messageTextBody = new HashMap<>();
messageTextBody.put("message", messageText);
messageTextBody.put("seen", false);
messageTextBody.put("type", "text");
messageTextBody.put("time", ServerValue.TIMESTAMP);
messageTextBody.put("from", MessageSenderId);
DatabaseReference user_message_key = rootRef.child("Messages").child(MessageSenderId).child(MessageRecieverId).push();
String message_push_id = user_message_key.getKey();
Map messageBodyDetails = new HashMap();
messageBodyDetails.put(message_sender_ref + "/" + message_push_id, messageTextBody);
messageBodyDetails.put(message_reciver_ref + "/" + message_push_id, messageTextBody);
rootRef.updateChildren(messageBodyDetails, new DatabaseReference.CompletionListener() {
@Override
public void onComplete(DatabaseError databaseError, DatabaseReference databaseReference) {
if (databaseError != null) {
Log.d("Chat_Log", databaseError.getMessage().toString());
}
messageArea.setText("");
}
});
}
}
private void fetchMessages() {
rootRef.child("Messages").child(MessageSenderId).child(MessageRecieverId).addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
ListView listView = (ListView) findViewById(R.id.messageList);
ArrayAdapter<String> adapter;
adapter = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1, android.R.id.text1, messagesList);
String message = dataSnapshot.getValue().toString();
message = dataSnapshot.child("message").getValue().toString();
messagesList.add(message);
adapter.notifyDataSetChanged();
listView.setAdapter(adapter);
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {
}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
我正在努力创建一个聊天应用程序,但几个月后我就陷入困境......问题是我能够获取我发送的消息并显示在我的列表视图上。但我无法获取其他用户发送的消息......所有内容都存储在数据库中,但我无法获取它...很多人建议我添加一个断点并检查。我不知道这意味着什么......任何人都可以帮我检查一下。比如我在哪里用什么代码来检查logcat中的确切问题
请帮帮我
答案 0 :(得分:1)
答案 1 :(得分:0)
在调试方面,使用breakpoints
是一种常见做法。你可以简单地点击你认为它产生问题的那一行,如DimDim所解释的那样。
使用日志语句,这意味着您可以直接在logcat上打印meesage。这是一个例子:
Log.d("TAG", "My message!");
您可以使用以下方式实现相同的目标:
System.out.println("My message!");