Google OAuth で認証できるところまで動かしてみた(前編)
はじめに
Kotlin Advent Calendar 2015 - Adventar
に素敵な記事
アプリからサーバまで全部Kotlinなお手軽サービス開発 #ktac2015 - Qiita
が掲載されておりまして、試してみました。
Kotlin と Android Studio は全くの素人です。GAE (Google App Engine) は Python を使ったことが少しあるけれど Java は初めて使います。そんな状態で Kotlin に無謀な挑戦を挑みます。
バージョン情報:
- Android Studio 1.5
プロジェクトを作る
Android Studio を使って、Android アプリを作らない。何のための Android Studio だ。という感はいなめませんが、それは Kotlin のため。Android Studio で GAE + Kotlin のためのプロジェクトを作成します。
Android アプリは作りませんが無難なところを選択します。ちなみに Android アプリを作るとしたら、Android OS シェアより Jelly Bean 以上くらいはサポートしておくのがいいのかな?
Android アプリは作成しないので、No Activity です。
GAE モジュールを作る
GAE モジュールなんてなくて、Google Cloud Module なのですね。
App Engine Java Endpoints Module で作成してみます。初挑戦です。
エラーがでてるぞ
モジュールを作っていると、裏でビルドが動いて app モジュールでビルドエラーが発生しています。
app モジュールは使わないので、思い切って削除します。settings.gradle を編集します。
include ':app', ':backend'
include ':backend'
app モジュールを削除しました。
Kotlin Plugin を導入
Android Studio に Kotlin Plugin を導入します。
Android Studio > Preferences > Plugins > Browse Repositries > Kotlin で検索。
Kotlin Extensions For Android は Obsolete になっているし、Android アプリは作らないのでインストールしません。Kotlin のみインストールしました。
Java to Kotlin
Java ファイルを Kotlin ファイルに変換します。変換のコマンドがわからなかったので、keybinding を確認しました。
Android Studio > Preferences > Keymap > Kotlin で検索。
Code メニューにあります。ショートカットもわかりました。java フォルダを選択して変換コマンドを実行します。
Code > Convert Java File to Kotlin File
変換は完了しましたが、MyEndpoint.kt でコンパイルエラーが発生しています。
@ApiNamespace の @ をなくせばエラーはなくなります。ここ詳しくないので、後で調べないとです。
gradle の設定を変える
変換を終えたら自動的に設定を変えることができます。
Tools > Kotlin > Configure Kotlin in Project。
backend モジュールの build.gradle が変更されます。ただし、Android アプリ用の設定になるので 2 点変更します。
//apply plugin: 'kotlin-android' apply plugin: 'kotlin'
//android { // sourceSets { // main.java.srcDirs += 'src/main/kotlin' // } //}