Kotlin

Aufbau der Schnittstelle

Um den Anruf tätigen und verwalten zu können, müssen Sie dem Bildschirm einige Elemente hinzufügen:

  • Schaltfläche zum Anmelden Alice Benutzer
  • Schaltfläche zum Anmelden Bob Benutzer
  • A TextView um den Verbindungsstatus anzuzeigen
  • A Button um den Anruf zu starten
  • A Button um das Gespräch zu beenden
  • A Button um dem Ruf zu folgen
  • A Button um den Anruf abzulehnen

Öffnen Sie die app/res/layout/activity_main.xml Datei. Klicken Sie auf die Code in der oberen rechten Ecke:

Code view

Ersetzen Sie den Inhalt der Datei durch den folgenden Text:

Sie werden die Ansicht mit Code steuern, daher müssen Sie Verweise auf die Ansichten speichern. Fügen Sie diese Eigenschaften am Anfang der ManActivity Klasse:

private lateinit var connectionStatusTextView: TextView
private lateinit var waitingForIncomingCallTextView: TextView
private lateinit var loginAsAlice: Button
private lateinit var loginAsBob: Button
private lateinit var startCallButton: Button
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 und den Schaltflächen Rückrufe hinzufügen. Fügen Sie den folgenden Code zu den onCreate innere Methode MainActivity Klasse (unten: Code für die Anforderungserlaubnis):

// init views
connectionStatusTextView = findViewById(R.id.connectionStatusTextView)
waitingForIncomingCallTextView = findViewById(R.id.waitingForIncomingCallTextView)
loginAsAlice = findViewById(R.id.loginAsAlice)
loginAsBob = findViewById(R.id.loginAsBob)
startCallButton = findViewById(R.id.startCallButton)
answerCallButton = findViewById(R.id.answerCallButton)
rejectCallButton = findViewById(R.id.rejectCallButton)
endCallButton = findViewById(R.id.endCallButton)

loginAsAlice.setOnClickListener { loginAsAlice() }
loginAsBob.setOnClickListener { loginAsBob() }

Damit der Code kompiliert werden kann, fügen Sie diese beiden leeren Methoden in der MainActivity Klasse:

private fun loginAsAlice() {
    // TODO: update body
}

private fun loginAsBob() {
    // TODO: update body
}

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 einige Ansichten standardmäßig ausgeblendet sind. Nach dem Start der App sehen Sie login alice und login bob Tasten:

Main screen