Kotlin

Jetpack Compose Desktopの参考になるRepositoryを集めた

ComposeでのDesktopがどうレイアウトしていいのか分からない。 そういう時に参考になるGitHub Repositoryを探してきた。 探し方はGitHub Repositoryをcompose-desktopタグで検索した。 joreilly / PeopleInSpace 有名なRepositoryで、KMMの参考としてもよく…

KotlinのifEmptyとifBrank

空白チェックを行う場合、if elseでもいいが、ifEmptyやifBlankでも便利にできる。 if elseの場合 val result = if (dummyText.isEmpty()) "hello" else "" println(result) // hello ifEmpty だとスッキリする val result = dummyText.ifEmpty { "hello" } …

Kotlin の takeIf を使ってみる

takeIf は知ってるが、どうも使ったことがなく、何か良いことがあるのか分からない。 公式ドキュメントはこちら(すごくシンプル) takeIf - Kotlin Programming Language 試しに使ってみるか こういうdata classがあったとして data class Status( val isEr…

Kotlin Coroutinesパターン&アンチパターン

Kotlin Coroutinesパターン&アンチパターン Coroutineを理解するため、以下のサイトを日本語訳しました。 https://proandroiddev.com/kotlin-coroutines-patterns-anti-patterns-f9d12984c68e 目次 非同期呼び出しをcoroutineScopeでラップするか、Supervis…

Navigation Architecture Componentを試した

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:compiler:3.1.0 and Android Gradle Plugin will inject the right version.

タイトルが長すぎるけど気にしない。 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

タイトルまんまの内容。 メソッドの処理時間を計測したかった Androidで処理時間を計測しようとSystem.currentTimeMillis()を使ってたら、SystemClock.uptimeMillis()のがいいよとアドバイスをもらった。 なぜか? System.currentTimeMillis()の場合、端末時…

Android KotlinでRealmを使う

環境 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…

nowで作成したAPIをKotlinとRetrofitとRxJavaとJacksonでGET/POSTする

いつもAndroidでRetrofit+RxJavaを使ってAPI通信する処理を書いてるが、今回はKotlinで挑戦してみる。 ついでに、使ったことのないnowもJacksonも触ってみた。 作成するもの nowを使ったnodejs製のAPIモック(express) Androidアプリ(Kotlin/Retrofit/RxJa…

IllegalArgumentException: *** is not part of the schema for this Realm

環境 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…

KotlinでDatabaseException: mypackage.Item does not define a no-argument constructor.

状況 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…