Kotlin

Construire l'interface

Pour pouvoir passer l'appel, vous devez ajouter trois éléments à l'écran :

  • A TextView pour afficher l'état de la connexion
  • A Button pour lancer l'appel
  • A Button pour mettre fin à l'appel

Ouvrir le app/res/layout/activity_main.xml fichier. Cliquez sur le bouton Code dans le coin supérieur droit :

Code view

Remplacez le contenu du fichier par ce qui suit :

<?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="20dp"
            tools:text="Connection status"/>

    <Button
            android:id="@+id/startCallButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="20dp"
            android:text="Start call"
            android:visibility="gone"
            tools:visibility="visible"/>

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

Vous contrôlerez la vue à l'aide de code, vous devez donc stocker des références aux vues. Ajoutez ces propriétés en haut du fichier MainActivity classe :

private lateinit var startCallButton: Button
private lateinit var endCallButton: Button
private lateinit var connectionStatusTextView: TextView

Vous devez maintenant assigner des vues aux propriétés précédemment ajoutées et ajouter des rappels aux boutons. Ajoutez le code ci-dessous au fichier onCreate méthode à l'intérieur MainActivity (voir ci-dessous le code des permissions) :

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

startCallButton.setOnClickListener {
        startCall()
}

endCallButton.setOnClickListener {
        hangup()
}

Pour que le code soit compilé, ajoutez ces deux méthodes vides dans le fichier MainActivity classe :

@SuppressLint("MissingPermission")
private fun startCall() {
        // TODO: update body
}

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

Vous remplirez le corps de ces méthodes dans les étapes suivantes de ce tutoriel.

Construire et faire fonctionner

Exécutez à nouveau le projet (Ctrl + R).

Notez que les boutons sont cachés par défaut :

Main screen

L'état de la connexion s'affiche et le bouton START CALL s'affichera après la connexion de l'utilisateur.