Kotlin

Swift では名前空間を定義するのに enum を使う仕草がある

というのを id:nakiwo さんに教えてもらった。 「struct がそれっぽくも思えますが」 「実は enum が公式でもやってるハックだったりします」 enum なら無意味に init() できるのを防げるということで活用されているらしい。たしかに、Publishers や Unicode…

Android で文字列選択時に表示される Menu に任意の Item を追加する

developer.android.com MainActivity.kt import android.os.Bundle import android.view.ActionMode import android.view.Menu import android.view.MenuItem import android.widget.TextView import android.widget.Toast import androidx.appcompat.app.Ap…

MockK 1.10.3 は JDK 11+ 向け、1.10.3-jdk8 は JDK 8 向け

github.com github.com 1.10.3 のリリースノートを確認してバージョンを更新したらテストが落ちたので、Issue を見るとこれに当たった。 github.com When running with jdk8 you should use version 1.10.3-jdk8; 1.10.3 only supports jdk11 and above. The…

Android アプリ の DI コンテナとして KOIN を使う理由とちょこっとした紹介

たまには飯テロじゃない画像をトップにしようと思いました。 (土善旅館のはなちゃんです) さて、私が Android アプリケーションを作るときの DI コンテナとして、最近は Kotlin で書かれた、Kotlin のために提供される KOIN という DI コンテナを好んで使…

Kotlin Coroutines におけるリトライの実現方法を2つ考えてみる

台湾まぜそば、おいしいですよね。名古屋飯だそうです。台湾は? つい先日、友人とのやりとりで Kotlin Coroutines を使うときにどのようにリトライを行うかについて深く考えていなかったという気付きがありました。 ということで、「Android アプリで画面の…

Kotlin x RxJava x FragmentPagerAdapter で Subscription を適切に管理する #Android #Kotlin

結論 RxJava で Subscription が帰ってくる処理を書くときは CompositeSubscription に集めて unsubscribe (購読解除)しましょう。 unsubscribe(購読解除)した CompositeSubscription を再利用したいときは、新しいインスタンスが必要になります。 今回…

Kotlin で Android-ObservableScrollView を利用したら IllegalArgumentException に遭遇した話 #Android #Kotlin

Android-ObservableScrollView という、パララックスなスクロール UI を実現するためのライブラリがあります。 github.com このライブラリを利用して、ObservableScrollViewCallbacks を継承した Activity(Kotlin で定義)を作ると、画面をタップしたときに…

Color.parseColor に短縮形の16進数カラーコードが食わせられなかったのでカラーコードを正規化するコード書いた #Android #Kotlin

Layout や Widget に対して背景や文字列の着色をしようとした場面で # から始まる短縮形16進数カラーコード(#333 とか #fff)を Color.parseColor に食わせた結果を設定したのだが色が付くどころか文字列すら表示されなくなってアレって思ってログ見たっけ …