gomobile を使ってチャットクライアントを作ってみる
go
コマンドが使える状態になっていることgomobile
コマンドが使える状態になっていること- Android Studio 3.0.1 がインストールされていること
- トップディレクトリににて
make
を実行します。gomobile bind
による AAR 生成、その後 apk 生成までやります。
make bind
コマンドで gomochat.aar を生成しておきます。android
ディレクトリを Android Studio に読み込ませます。- ビルドして APK を生成し、実機に食わせるなりエミュレータに食わせるなりします。
簡易なチャットアプリです。
gomochat/cmd/server
以下に、サーバのソースコードが格納されています。gorilla/websocket/example
以下のchat
と同じものです。- 当該ディレクトリに行き、
go build
でサーバ実行バイナリが生成されます。
gomochat/cmd/gomochat
以下に、延々とメッセージ受信送信を繰り返すだけのアプリが格納されています。- 当該ディレクトリに行き、
go build
でクライアントの実行バイナリが生成されます。 - あらかじめサーバを起動しておき、本クライアントを実行します。WebSocket が接続され、メッセージの送受信が始まります。
- メッセージは、接続中のクライアント全ての転送されます。
- 当該ディレクトリに行き、
gomochat/android
を Android Studio で読み込みます。MainActivity.kt
内に接続先のアドレスがハードコーディングされているので、
上記で立てたサーバの IP アドレスに修正し、ビルドします。- 生成した APK を、実機、ないしエミュレータにインストールします。
- アプリは起動すると自動的にサーバに接続しようとします。
- 名前、メッセージを入力する欄があるので、入力し、SEND ボタンを押すとメッセージを送信します。
- メッセージは、接続中のクライアント全ての転送されます。
gomochat/cmd/server
のソースコードはgorilla/websocket
のライセンスに従います。- その他は MIT です。