ticktakclockの日記

技術ポエムを綴ったりします。GitHub idも同じです (@ticktakclock)

Kotlin

kotlinで別パッケージの同じクラス名の衝突を回避する

こんにちは、tkyです。 Kotlinの小ネタです。 タイトルのとおりなのですが、こういったことってほとんどないとは思うのでいざというときどうするか迷う系のやつです。 ドメインとしてのクラス名と被ってしまう 例えば イベント情報 を取り扱うドメインがあっ…

Kotlin applyから理解するレシーバー付きラムダ

こんにちは、tkyです。 『レシーバー付きラムダ』という用語をご存知でしょうか。Kotlinインアクションとかで使われている表現です。 英語では Function literals with receiver と言われています。 今回は apply{} がどのように動作するのか確認しながら『…

KotlinプロパティとカスタムゲッターのBytecodeから見る違い

こんにちは、tkyです。 今日はKotlinのプロパティとゲッターの種類と違いを深堀りしてみようと思います。 はじめにプロパティとフィールドについておさらい程度に単語を整理します。 プロパティとフィールド Kotlinのプロパティについて復習です。 dogwood00…

EpoxyとDoNotHashとequals()

こんにちは、tkyです。 Androidネタです。epoxyの話です。 ※epoxy is 何の話はしません epoxyはデータバインディングをサポートしていて、リソースファイルからデータバインディング用のモデルクラスを自動生成してくれたりします。 github.com 上記のドキュ…

Kotlinのif elseとletとalso

こんにちは、tkyです。 Kotlinにおいてnullチェックしてそのインスタンスにアクセスする場合、?.let{} を使うことがわりと多いです。 しかしnullだったときの処理も記述する場合?.let{} だとどうしてもわかりづらくなる場合があり、素直にif elseを使ったほ…

Koinを使って依存解決(DI)する

こんにちは、tkyです。 今回は 今までDI(Dependency Injection)ライブラリはDagger2だけしか使ったことがなかったのですが、他のDIライブラリも使ってみたくて Koin を使ってみました。 公式見ながら作業しましたが、想像以上に簡単にDIできたのでびっくり。…

Androidで動画配信アプリを作成する

こんにちはtkyです。 前回GCP上に動画配信サーバを作成しました。 今回はこの動画配信サーバにアクセスできるクライアントアプリを作成してみようと思います。 何作ったの Androidで動画配信アプリを作成しました。言語はKotlinです。 構成は前回PCから配信…