概要 Roomのcodelabで疑問に思う箇所があったのでメモ codelabで紹介されているコード codelabではRoomDatabaseのインスタンス生成はsingletonパターンで実装され、以下のようなコードになっている。 @Database(entities = [Word::class], version = 1) publ…
Gradle Play Publisher? Gradle Play PublisherはAPKのGoogle Play Developerコンソールへのアップロードを自動化できるGradleプラグインです。 github.com APKのアップロード以外にもPlay Storeに掲載する各種メタデータの管理も一括で行うことができます。…
Twitterで#KotlinConf18jpのハッシュタグを眺めてたら次のような問題が流れてきた。 package syntax.naughtyWhen // by Ilya Gorbunov fun f(x: Boolean) { when(x) { x == true -> println("$x TRUE") x == false -> println("$x FALSE") } } f(true) f(fal…
DiffUtilのgetChangePayloadでは、古いアイテムと新しいアイテムでどのフィールドが更新されたかの情報を詰めたオブジェクトを生成して返す。 どんな感じなのかは以下のサイトを参照。 DiffUtil is a must! – ProAndroidDev Android DTT #12 — Optimize and …
LiveDataのユニットテストを書く場合にどうするか調べたのでメモ。 LiveDataのUnitTest – Kenji Abe – Medium こちらの記事を読むことでLiveDataのユニットテストをどう行うかついて理解できました。 AACのcore-testingをtestImplementationに追加し忘れてテ…
Github で Fork してから Pull Request をするまでの流れ | けーこ in サンフランシスコ
FirebaseからGCM終了のお知らせとFCMへのアップグレード告知メールが来たので意訳した。ついにGCMが終了するのかー 意訳文 2016年、Google Cloud Messaging(GCM)の後継としてFirebase Cloud Messaging(FCM)をローンチしました。FCMはGCMを進化させ、通知とデ…
毎回忘れるので取得の仕方をメモしておく。 仕様・実装方法 仕様や実装については以下を見ておけば恐らくOK。 Advertising ID | Android Developers AdvertisingIdClientのリファレンスは以下を参照。 https://developers.google.com/android/reference/com/…
先週potatotips #48で「Alexa、APKを配布して」というタイトルで発表してきました。Rettyさんありがとうございました。 資料はこちらです。
Support Library 27.1.0が公開されていたので更新しました。その際に行った作業のメモ。 developer.android.com RecyclerView.Adapterの抽象メソッドが取る引数の型を変更 onCreateViewHolder、onBindViewHolderでそれぞれViewGroup、RecyclerView.ViewHolde…
毎回調べてる気がするのでメモ。 Gson User Guide - gson 公式ドキュメントは外せない。 GSON Serialiser Example | Java Creed Serializerについての解説。取り敢えずこのページを見ておけば問題ないと思う。 GSON Deserialiser Example | Java Creed Deser…
概要 新規アプリでGoogle Play App Signingを有効にするとアプリ署名鍵がGoogle側で自動的に作られるためリリースkey hashを作成できず困ったのでその解決方法についてのメモです。 Google Play App Signingとは? Google I/O 2017で発表されたGoogle Play A…
このStackOverflowの質問と解答を見れば解決なんですが、何度も忘れるので個人的にメモ。 stackoverflow.com API Level 19 以上 API Level 19 以上なら普通にコピー&ペーストするだけです。 API Level 19 未満 adbを使って入力します。 adb shell input text…
先日potatotips #45で「Swaggerで定義したAPI仕様から Retrofitで使用するinterfaceを自動生成してみる」というタイトルで発表してきました。リクルートマーケティングパートナーズさん、お邪魔させて頂きありがとうございました。 資料はこちらです。
Bazelのrules_kotlinにkotlin_android_library rule 追加され、Kotlinで書かれたAndroidアプリがビルド可能になったので調べたメモ。 BazelでのAndroidアプリのビルド方法の復習 Bazelのインストール サンプルプロジェクトの用意 workspaceのセットアップ WO…
概要 Reproでプッシュ通知を受け取る際に、NotificationCompat.BuilderのsetSmallIconでiconのリソースを指定していても通知に表示されない場合の対処方法について。 対処方法 AndroidManifestのapplicationタグに以下のようなmeta-dataを追加します。 <meta-data android:name="io.repro.android.PushNotification.SmallIcon" android:resource="@drawable/YOUR_ICON_ID"> </meta-data> こ…
既存のURLにUri.Builderを使ってクエリを追加する場合こうする。parse後にbuildUpon()で繋ぐのがミソ。 val url = Uri.parse("既存のURL") .buildUpon() .appendQueryParameter("key", "value")
KotlinではlistOf関数を使う事で簡単にListを作成できる。 val list = listOf(1, 2, 3) // [1, 2, 3] ここで1から99までのListを作る場合はRangeを使うと簡単に作成できる。toList()でListに変換してやるのがポイント。 val list = (1..99).toList() // [1, …
withIndex()を指定すればOK。 val list = listOf(1, 2, 3, 4, 5) for ((index, element) in list.withIndex()) { print("$index, $element\n") }
Android DevelopersのKotlinのページにはResources to Learn Kotlinというページがあります。 Resources to Learn Kotlin | Android Developers このページにはタイトル通りKotlinを学ぶためのリソースのリストが載っていて、以下のカテゴリに別れています。…
概要 Facebook製ビルドツールBuckをインストールし、サンプルとして公開されているAndroidプロジェクトをビルドしてみます。 Buck? BuckはFacebookが開発しているビルドツールです。 buckbuild.com 公式サイトではBuckの特徴が解説されています。ビルドが高…
概要 React NativeのプロジェクトをReact Native CLIで新規作成し、Nuclideで開発を始めると以下のように「Flow: Waitng for diagnostics」と表示されFlowによる型チェックが実行されませんでした。 この記事は型チェックが正常に動くまで行ったことのメモで…
概要 React Nativeが公開された際に一度動かしてから触っていないので、改めてReact Nativeプロジェクトの作成から、ビルドしてiOSシミュレーターで表示するまでをやってみたのでメモ。
よく忘れるのでメモ (?:1|2|3)
AWS SDKを使いs3からファイルを取得する方法についてメモ require 'aws-sdk-core' Aws.config[:region] = 'ap-northeast-1' s3 = Aws::S3::Client.new( access_key_id: ACCESS_KEY_ID, secret_access_key: SECRET_ACCESS_KEY ) File.open('保存時のファイル…
概要 以下のようなコードでGoogleMapを表示しようとしたところNullPointerExceptionが発生した。 GoogleMap googleMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap(); UiSettings uiSettings = googleMap.getU…
最近Kotlinの話題を聞く事が多くなってきたので、Kotlinでプロジェクトを作成し、HelloWorldアプリをビルドするところまでやってみる。 公式サイトを見ながら環境を構築していく。 Kotlin Pluginのインストール IntelliJ IDEA 15は最初からKotlin Pluginが入…
概要 BazelがAndroidのビルドに対応してから試せていないので試したいが、Bazelは半年前にインストールしたままなので、新しくインストールし直してみる。 Bazelのインストール http://bazel.io/docs/install.htmlを参考にインストールする。Ubuntuのバージ…
Dockerで起動したUbuntuのコンテナで、apt-getを実行したところ以下のようなエラーが発生した。 $ apt-get install software-properties-common ・ ・ ・ 0% [Connecting to archive.ubuntu.com] Err http://archive.ubuntu.com/ubuntu/ trusty/main libroke…
たまたまDockerの公式サイトをみたところ以下のような注意書きが。 Note: This release of Docker deprecates the Boot2Docker command line in favor of Docker Machine. Use the Docker Toolbox to install Docker Machine as well as the other Docker to…