Java
Send a message
Time to send the first message.
To send a message register a callback inside onCreate method:
findViewById(R.id.sendMessageButton).setOnClickListener(it -> sendMessage());
Add sendMessage method inside MainActivity:
private void sendMessage() {
String message = messageEditText.getText().toString();
if (message.trim().isEmpty()) {
Toast.makeText(this, "Message is blank", Toast.LENGTH_SHORT).show();
return;
}
messageEditText.setText("");
hideKeyboard();
conversation.sendMessage(NexmoMessage.fromText(message), new NexmoRequestListener<Void>() {
@Override
public void onError(@NonNull NexmoApiError apiError) {
Toast.makeText(MainActivity.this, "Error sending message", Toast.LENGTH_SHORT).show();
}
@Override
public void onSuccess(@Nullable Void aVoid) {
}
});
}
The above method hides the keyboard, clears the text field and sends the message.
Now in the MainActivity add the missing hideKeyboard method - the utility method that hides Android system keyboard:
private void hideKeyboard() {
InputMethodManager inputMethodManager = ContextCompat.getSystemService(this, InputMethodManager.class);
View view = getCurrentFocus();
if (view == null) {
view = new View(this);
}
inputMethodManager.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
You'll notice that, although the message was sent, the conversation doesn't include it. Let's do that in the next step.
Creating an Android chat app
Create a Android application that enables users to message each other using the Android Client SDK and Java.
Steps
1
Introduction to this task2
Prerequisites3
Create a Vonage Application4
Create a conversation5
Create the users6
Add users to the conversation7
Generate JWTs8
Create an Android project9
Add permissions10
Build main screen11
Initialize the client12
Fetch the conversation13
Fetch conversation events14
Send a message15
Receive new messages16
What's next?