Kotlin
ComposeでのDesktopがどうレイアウトしていいのか分からない。 そういう時に参考になるGitHub Repositoryを探してきた。 探し方はGitHub Repositoryをcompose-desktopタグで検索した。 joreilly / PeopleInSpace 有名なRepositoryで、KMMの参考としてもよく…
空白チェックを行う場合、if elseでもいいが、ifEmptyやifBlankでも便利にできる。 if elseの場合 val result = if (dummyText.isEmpty()) "hello" else "" println(result) // hello ifEmpty だとスッキリする val result = dummyText.ifEmpty { "hello" } …
takeIf は知ってるが、どうも使ったことがなく、何か良いことがあるのか分からない。 公式ドキュメントはこちら(すごくシンプル) takeIf - Kotlin Programming Language 試しに使ってみるか こういうdata classがあったとして data class Status( val isEr…
Kotlin Coroutinesパターン&アンチパターン Coroutineを理解するため、以下のサイトを日本語訳しました。 https://proandroiddev.com/kotlin-coroutines-patterns-anti-patterns-f9d12984c68e 目次 非同期呼び出しをcoroutineScopeでラップするか、Supervis…
Google I/O 2018でNavigation Architecture Componentが追加されてからずっと気になっており、そろそろ試さねばと思って実装してみた。 シングルActivity+多Fragmentの遷移を作っていく。 環境 Android Studio 3.2 Beta 5 Build #AI-181.5281.24.32.4913314…
タイトルが長すぎるけど気にしない。 Android Studio 3.1.1にアプデしたらSyncエラーが出た。 Data Binding annotation processor version needs to match the Android Gradle Plugin version. You can remove the kapt dependency com.android.databinding:…
タイトルまんまの内容。 メソッドの処理時間を計測したかった Androidで処理時間を計測しようとSystem.currentTimeMillis()を使ってたら、SystemClock.uptimeMillis()のがいいよとアドバイスをもらった。 なぜか? System.currentTimeMillis()の場合、端末時…
環境 Android Studio 3.0.1 kotlin_version = '1.2.21' Realm 5.0.0 資料 Realm公式 Realm: Create reactive mobile apps in a fraction of the time Realmの導入 プロジェクトのbuild.gradleにrealmを追加 buildscript { ext.kotlin_version = '1.2.21' rep…
いつもAndroidでRetrofit+RxJavaを使ってAPI通信する処理を書いてるが、今回はKotlinで挑戦してみる。 ついでに、使ったことのないnowもJacksonも触ってみた。 作成するもの nowを使ったnodejs製のAPIモック(express) Androidアプリ(Kotlin/Retrofit/RxJa…
環境 Android Studio 2.3.3 Java8 Kotlin 1.1.51 realm 3.5.0 現象 既存のJavaのAndroid StudioプロジェクトにKotlinを導入してビルドしたところ、起動時以下のエラーが必ず発生してお手上げとなった。 java.lang.RuntimeException: Unable to resume activi…
状況 Android Studio: 3.0.1 Kotlin: 1.2.10 firebase-database: 11.8.0 現象 Kotlinの勉強がてらFirebaseのRealTime Databaseでデータを取得しようとしたらこんなエラーが出た。 com.google.firebase.database.DatabaseException: Class my.com.package.Ite…