potatotipsで発表してきました

先日potatotips #45で「Swaggerで定義したAPI仕様から Retrofitで使用するinterfaceを自動生成してみる」というタイトルで発表してきました。リクルートマーケティングパートナーズさん、お邪魔させて頂きありがとうございました。

資料はこちらです。

続きを読む

Bazelのrules_kotlinについてのメモ

Bazelのrules_kotlinにkotlin_android_library rule 追加され、Kotlinで書かれたAndroidアプリがビルド可能になったので調べたメモ。

  • BazelでのAndroidアプリのビルド方法の復習
    • Bazelのインストール
    • サンプルプロジェクトの用意
    • workspaceのセットアップ
    • WORKSPACEファイルの作成
    • WORKSPACEファイルの更新
    • BUILDファイルの作成
    • android_library ruleの追加
    • アプリのビルド
    • 成果物の確認
  • rules_kotlin
    • rules_kotlinで使用できるrule
    • WORKSPACEの設定
    • BUILD rules
      • kotlin_library
        • kotlin_libraryの属性一覧
      • kotlin_binary
        • kotlin_binaryの属性一覧
      • kotlin_android_library
        • kotlin_android_libraryの属性一覧
      • kotlin_test
      • kotlin_compile
    • Annotation Processing
  • サンプルコードの実行
  • 参考
続きを読む

Reproでプッシュ通知を受け取る際にSmall Iconが表示されない場合の対処方法

概要

Reproでプッシュ通知を受け取る際に、NotificationCompat.BuildersetSmallIconでiconのリソースを指定していても通知に表示されない場合の対処方法について。

対処方法

AndroidManifestのapplicationタグに以下のようなmeta-dataを追加します。

<meta-data
    android:name="io.repro.android.PushNotification.SmallIcon"
    android:resource="@drawable/YOUR_ICON_ID">
</meta-data>

これで表示されるはずです。

ドキュメントはちゃんと読もう

30分ぐらい悩んでたんですが、Reproのドキュメントを読んだらあっさり解決しました。ドキュメントはちゃんと読もう・・。

参考

プッシュ通知(Android) — Repro ドキュメント

既存のURL文字列にUri.Builderでクエリを追加する方法

既存のURLにUri.Builderを使ってクエリを追加する場合こうする。parse後にbuildUpon()で繋ぐのがミソ。

val url = Uri.parse("既存のURL")
             .buildUpon()
             .appendQueryParameter("key", "value")

Kotlinで1から99までの整数を含むListを簡単に作成する

KotlinではlistOf関数を使う事で簡単にListを作成できる。

val list = listOf(1, 2, 3) // [1, 2, 3]

ここで1から99までのListを作る場合はRangeを使うと簡単に作成できる。toList()でListに変換してやるのがポイント。

val list = (1..99).toList() // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18...

Kotlin楽しい!

参考

英語でKotlinを勉強するためのリソース

Android DevelopersのKotlinのページにはResources to Learn Kotlinというページがあります。

Resources to Learn Kotlin | Android Developers

このページにはタイトル通りKotlinを学ぶためのリソースのリストが載っていて、以下のカテゴリに別れています。

  • Documentation
  • Videos
  • Books
  • Social channels

各カテゴリで紹介されているリソースは以下のようになっています。

Documentation

Videos

  • YouTube

    “Kotlin on Android"で検索するとKotlinとAndroidに関する様々なビデオを探すことができます。

  • O'Reilly course

    JetBrainsのHadi Haririさんによる"Introduction to Kotlin Programming,“という講座がO'Reillyから公開されています。8時間ほどで学べるようです。有料となっていて、講座単体で購入するかSafari Books Onlineを契約する必要があります(10日間のフリートライアル有り)。

  • Treehouse course

    “Kotlin for Java Developers"Androidに重点置いてKotlinを学べる講座で、オンライン学習サイトtreehouseが提供しています。こちらも有料となっていて、フリートライアは7日間です。

  • Udemy course

    Udemyが提供している講座、"Kotlin for Beginners"では、Kotlinをゼロから学べます。こちらも有料ですがUdemyは割引を良くやってるのでタイミングによっては安く購入できるはずです(この記事を書いている時点(2017/06/21)で84%オフの1,800円でした)。

Videosで紹介されているリソースは以上ですが、UdacityにはGoogle公式のAndroid講座があるのでKotlinに対応したAndroid講座をGoogleが開いてくれないかと個人的に期待しています。

Books

  • Kotlin in Action

    JetBrainsのDmitry JemerovさんとSvetlana Isakovaさんによって書かれてた本です。ManningのサイトからChapter6と11が無料で読めます。

  • Kotlin for Android Developers

    Antonio Leivaさんによって書かれてた"Kotlin for Android Developers"はKotlinについて書かれた最初の本の1つと紹介されています。この本では、実際に天気予報アプリを開発しながらKotlinを学ぶことができ、APIリクエストとレスポンスのデータクラスへのマッピングとキャッシュ、SQLiteの操作、そしてテストコードの書き方まで紹介されています。購入して読みましたが、とても読みやすい本でした。購入後2度更新があり、Android Studio 3.0対応や、コルーチンに関する章の追加、クローズドなクラスをどうモックするか?といった内容が追加されています。

Social channels

参考