Kotlin
インターフェイスの構築
電話をかけ、管理できるようにするには、画面にいくつかの要素を追加する必要がある:
- ログインボタン
Aliceユーザー - ログインボタン
Bobユーザー - A
TextView接続状態を表示する - A
Button通話を開始する - A
Button通話を終了する - A
Button呼びかけに応える - A
Button通話を拒否する
を開く。 app/res/layout/activity_main.xml ファイルをクリックします。をクリックする。 Code ボタンをクリックする:

ファイルの内容を以下のように置き換える:
コピー
<?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"
android:id="@+id/content"
tools:context=".MainActivity">
<TextView
android:id="@+id/connectionStatusTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="40dp" />
<Button
android:id="@+id/loginAsAlice"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="40dp"
android:text="Login Alice" />
<Button
android:id="@+id/loginAsBob"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="40dp"
android:text="Login Bob" />
<TextView
android:id="@+id/waitingForIncomingCallTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="40dp"
android:text="Waiting for incoming call"
android:visibility="gone"
tools:visibility="visible"/>
<Button
android:id="@+id/startCallButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="40dp"
android:text="Start call"
android:visibility="gone"
tools:visibility="visible" />
<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>
コードを使用してビューを制御するので、ビューへの参照を保存する必要があります。これらのプロパティを ManActivity クラスである:
コピー
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
次に、先に追加したプロパティにビューを割り当て、ボタンにコールバックを追加する必要があります。以下のコードを onCreate メソッド MainActivity クラス(リクエスト・パーミッション・コード以下):
コピー
// 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() }
コードをコンパイルするために、以下の2つの空のメソッドを MainActivity クラスである:
コピー
private fun loginAsAlice() {
// TODO: update body
}
private fun loginAsBob() {
// TODO: update body
}
このチュートリアルの次のステップで、これらのメソッドの本体を埋めていくことになる。
ビルド&ラン
プロジェクトを再度実行する (Ctrl + R).
デフォルトでは非表示になっているビューもあります。アプリを起動すると login alice そして login bob ボタンをクリックする:

In-Appで音声通話をする
Android Client SDKを使用して、Androidアプリから他のデバイスにインストールされている同じAndroidアプリに音声通話を発信します。
手順
1
このタスクの紹介2
Prerequisites3
ウェブフック・サーバーの作成4
Vonageアプリケーションの作成5
ユーザーを作成する6
JWTの生成7
Androidプロジェクトを作成する8
パーミッションの追加9
メイン画面の構築10
クライアントの初期化11
電話を受ける12
電話をかける13
次はどうする?