Java

Testen Ihres Codes

Zu diesem Zeitpunkt wird Ihr MainActivity.java Datei sollte in etwa so aussehen (mit ein paar Anpassungen):

public class MainActivity extends AppCompatActivity {
    private static final String TAG = MainActivity.class.getSimpleName();
    private Session session;
    private SignalMessageAdapter messageHistory;
    private EditText messageEditTextView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        messageEditTextView = findViewById(R.id.message_edit_text);
        ListView messageHistoryListView = findViewById(R.id.message_history_list_view);

        // Attach data source to message history
        messageHistory = new SignalMessageAdapter(this);
        messageHistoryListView.setAdapter(messageHistory);

        messageEditTextView.setEnabled(false);

        session = new Session.Builder(this, VonageVideoSDKConfig.APP_ID, VonageVideoSDKConfig.SESSION_ID).build();
        session.setSessionListener(sessionListener);
        session.setSignalListener(signalListener);
        session.connect(VonageVideoSDKConfig.TOKEN);

        messageEditTextView.setOnEditorActionListener(new TextView.OnEditorActionListener() {
            @Override
            public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
                if (actionId == EditorInfo.IME_ACTION_DONE) {
                    InputMethodManager inputMethodManager = (InputMethodManager) v.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
                    inputMethodManager.hideSoftInputFromWindow(v.getWindowToken(), 0);
                    sendMessage();
                    return true;
                }
                return false;
            }
        });
    }

    private void sendMessage() {
        Log.d(TAG, "Send Message");
        String data = messageEditTextView.getText().toString();
        session.sendSignal("msg", data);

        SignalMessage message = new SignalMessage(data);
        messageHistory.add(message);

        messageEditTextView.setText("");
    }
    
    private final Session.SessionListener sessionListener = new Session.SessionListener() {
        @Override
        public void onConnected(Session session) {
            messageEditTextView.setEnabled(true);
        }
        @Override
        public void onDisconnected(Session session) {
            messageEditTextView.setEnabled(false);
        }

        @Override
        public void onError(Session session, OpentokError opentokError) {
            Log.i(TAG,"Session error: " + opentokError.getMessage());
        }

        @Override
        public void onStreamReceived(Session session, Stream stream) {}

        @Override
        public void onStreamDropped(Session session, Stream stream) {}
    };

    private final Session.SignalListener signalListener = new Session.SignalListener() {
        @Override
        public void onSignalReceived(Session session, String type, String data, Connection connection) {
            if (!connection.equals(session.getConnection()) && (type != null && type.equals("msg"))) {
                SignalMessage message = new SignalMessage(data, true);
                messageHistory.add(message);
            }
        }
    };
}

In Ihrem fertigen Code sollten Sie hart kodierte Werte haben, die Folgendes ersetzen YOUR_APP_ID, YOUR_SESSION_ID und YOUR_TOKEN im VonageVideoSDKConfig Klasse - falls Sie dies noch nicht getan haben, siehe Einrichten der Authentifizierung oben.

  1. Erstellen und starten Sie die Anwendung in Android Studio.
  2. Geben Sie einen Text in das Textfeld ein und senden Sie ihn ab.
  3. Sie sollten sehen, dass die Nachricht dem Nachrichtenverlauf hinzugefügt wird.

Als nächstes können wir testen, wie es aussieht, wenn jemand anderes eine Nachricht sendet. Wir können das simulieren, indem wir die App erneut auf einem anderen Emulator/Gerät ausführen:

  1. Erstellen Sie die Anwendung und führen Sie sie auf einem anderen Emulator aus.
  2. Geben Sie einen Text in das Textfeld ein und senden Sie ihn an beide Emulatoren.
  3. Sie sollten sehen, dass beide Nachrichten zum Nachrichtenverlauf hinzugefügt werden.

Tipps zur Fehlersuche: Wenn Sie keine Verbindung zur Sitzung herstellen können, überprüfen Sie das Android Studio Logcat-Fenster auf Fehler. Das wahrscheinlichste Problem ist, dass Ihr API-Schlüssel, Ihre Sitzungs-ID oder Ihr Token nicht richtig eingerichtet ist. Da Sie Ihre Anmeldeinformationen fest kodiert haben, ist es auch möglich, dass Ihr Token abgelaufen ist. Wenn Sie einen Build-Fehler im Zusammenhang mit der Kompilierversion erhalten, können Sie diese auf der Anwendungsebene ändern build.grade Datei.

Einfacher Text-Chat

In diesem Tutorial lernen Sie, wie Sie mit der Video API von Vonage einen einfachen Text-Chat von Grund auf aufbauen. Dies ist der schnellste Weg, um einen Proof of Concept für diese Funktionalität auf der Videoplattform zu erstellen.

Schritte
1
Übersicht
2
Bevor Sie beginnen
3
Konfigurieren einer Vonage Video-Applikation
4
Das Projekt erstellen
5
Authentifizierung einrichten
6
Verbinden mit der Sitzung
7
Aussenden eines Signals
8
Empfangen eines Signals
9
Testen Ihres Codes
10
Schlussfolgerung