Androidエミュレータでコピー&ペーストしたい

このStackOverflowの質問と解答を見れば解決なんですが、何度も忘れるので個人的にメモ。

stackoverflow.com

API Level 19 以上

API Level 19 以上なら普通にコピー&ペーストするだけです。

API Level 19 未満

adbを使って入力します。

adb shell input text 'hoge hoge'

以上。

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でListをイテレーションする際にindexが欲しい場合の書き方

withIndex()を指定すればOK。

val list = listOf(1, 2, 3, 4, 5)
for ((index, element) in list.withIndex()) {
    print("$index, $element\n")
}