Kotlin

Aufbau der Schnittstelle

Um den Verbindungsstatus der App anzeigen zu können, müssen Sie eine TextView Ansicht auf dem Bildschirm. Sie werden auch Schaltflächen zur Steuerung des Anrufs hinzufügen (Annehmen, Ablehnen, Beenden). Ersetzen Sie den Inhalt von app/res/layout/activity_main.xml Datei mit folgendem Layout:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:gravity="center"
        tools:context=".MainActivity">

    <TextView
            android:id="@+id/connectionStatusTextView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="40dp"
            app:layout_constraintRight_toRightOf="parent" />

    <Button
            android:id="@+id/answerCallButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="40dp"
            android:text="Answer"
            android:visibility="gone"
            tools:visibility="visible" />

    <Button
            android:id="@+id/rejectCallButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="40dp"
            android:text="Reject"
            android:visibility="gone"
            tools:visibility="visible" />

    <Button
            android:id="@+id/endCallButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="40dp"
            android:text="End"
            android:visibility="gone"
            tools:visibility="visible" />

</LinearLayout>

Abrufen von Ansichten Referenzen

Sie werden die Ansicht mit Hilfe von Code steuern, daher müssen die Verweise auf die Ansichten in der Datei MainActivity Klasse. Fügen Sie diese Eigenschaften am Anfang der Klasse MainActivity Klasse:

private lateinit var connectionStatusTextView: TextView
private lateinit var answerCallButton: Button
private lateinit var rejectCallButton: Button
private lateinit var endCallButton: Button

Nun müssen Sie den zuvor hinzugefügten Eigenschaften Ansichten zuweisen. Fügen Sie den folgenden Code in die onCreate innere Methode MainActivity Klasse (unten: Code für die Anforderungserlaubnis):

// init views
connectionStatusTextView = findViewById(R.id.connectionStatusTextView)
answerCallButton = findViewById(R.id.answerCallButton)
rejectCallButton = findViewById(R.id.rejectCallButton)
endCallButton = findViewById(R.id.endCallButton)

Sie werden den Körper dieser Methoden in den folgenden Schritten dieses Lehrgangs ausfüllen.

Bauen und Ausführen

Führen Sie das Projekt erneut aus (Ctrl + R).

Beachten Sie, dass die Schaltflächen standardmäßig ausgeblendet sind:

Main screen

Der Status der Verbindung und die Schaltflächen zur Anrufsteuerung werden nach der Anmeldung des Benutzers angezeigt. Dies wird im folgenden Schritt geschehen.