2018-01-01から1年間の記事一覧

Firebase Cloud Messaging(FCM)のHTTP legacy protocolでsendするメモ

fcm_regacy_http.kt import okhttp3.* private const val URL = "https://fcm.googleapis.com/fcm/send" private val MEDIA_TYPE_JSON = MediaType.parse("application/json; charset=utf-8") private val CLIENT = OkHttpClient() fun send(serverKey: Stri…

Autosizing TextViews

TextView のフォントサイズの自動調整機能は Android 8.0 (API level 26) から導入され、Support Library 26.0 以降でも採用されています。 XML

Data BindingでDelegates.observableを使う際に非nullの初期値を強制されたくない件

Data Binding Library で notifyPropertyChanged を利用する際、普通にやると下記のように非 null の初期値が強制されてしまう。 class MyModel : BaseObservable() { @get:Bindable var myText: String by Delegates.observable("") { _, _, _ -> notifyPro…

kotlinで値がprimitive wrapperのためにlateinitできない場合

'lateinit' modifier is not allowed on properties of primitive types とか怒られるので by Delegates.notNull() で凌ぎましょう。例: import kotlin.properties.Delegates var i: Int by Delegates.notNull() fun main(args: Array<String>) { i = 10 println("i</string>…

Data Binding Library と Google Analytics for Firebase の依存関係の件

Data Binding Library と Google Analytics for Firebase が古いライブラリを参照してるのでメモ。手元にある support library の version として "27.0.2" を採用しているプロジェクトで、普通にビルドすると lint で下記のように怒られる。 Incompatible G…

RxJava2のnullの扱いとOptional

RxJava 2.0 で Observable による null の emission が非サポートになったので、その点に関してのメモ。 Javaでnullをemitしてみる JavaでOptionalを使ってみる kotlinで普通にSequencesを使った場合 Javaでnullをemitしてみる Observable<String> source = Observab</string>…