Open in app

Sign In

Write

Sign In

Kenji Abe
Kenji Abe

690 Followers

Home

About

Sep 10

ComposeでLifecycleを監視する(2023年9月バージョン)

ComposeでLifecycleを監視するには DisposableEffect を使う方法が一番使用されてるのかなと思います。公式ドキュメントにも記載されています。 Lifecycle 2.7.0-alpha01 からこれがちょっと簡単に記述できるようになります。 注意: まだalphaなので今後変更があるかもです。 FlowでLifecycleの状態を取得 currentStateAsSta …

Android

4 min read

ComposeでLifecycleを監視する(2023年9月バージョン)
ComposeでLifecycleを監視する(2023年9月バージョン)
Android

4 min read


Jul 2

WindowInsetsのConsumeについて

WindowInsets には Consume/Consumption(消費)の仕組みがあります。この仕組みについてまとめます。 ※この記事ではComposeについてのみ解説しています。 Consume/Consumption WindowInsetsの消費とはどういうことかというと、親要素でWindowInsetsのPaddingを設定したあとに、子要素で同じものを設定したとしても何も起き …

Jetpack Compose

6 min read

WindowInsetsのConsumeについて
WindowInsetsのConsumeについて
Jetpack Compose

6 min read


May 28

Jetpack ComposeでカスタムShapeを実装する

Jetpack Composeには Shape というのがあり、これを使って、画像を切り抜いたり、背景色を塗ったり、ボーダーを描いたりすることができます。 Compose側では CircleShape , RoundedCornerShape , CutCornerShape などが定義されていますので、基本的なものはこれらで対応可能になっています。 もし、定義されていないShapeを使用したい場合は、自分でカスタムのShapeも実装することが可能です …

Jetpack Compose

5 min read

Jetpack ComposeでカスタムShapeを実装する
Jetpack ComposeでカスタムShapeを実装する
Jetpack Compose

5 min read


Apr 10

Kotlinのdata object

Kotlin 1.9でリリース予定で、これを書いてる時点の最新バージョン(1.8.20)ではPreview機能として使用できる data object について簡単にまとめておきます。 基本はドキュメントを読んでもらえば良いかなとは思います。 What's new in Kotlin 1.8.20 | Kotlin Release date: April 3, 2023 The Kotlin 1.8.20 release is out and here are some of its biggest highlights: You can also…kotlinlang.org 通常の object との違いなどを見ていきます。 toString() data object では toString() が定義され …

Kotlin

7 min read

Kotlinのdata object
Kotlinのdata object
Kotlin

7 min read


Apr 2

JetpackComposeのmovableContentOf

状態を保持したまま要素の配置を変更可能にする movableContentOf について紹介します。 movableContentOf の基本 まずは例として以下のように条件によって縦と横の並びを変更したいとします。 @Composable fun MovableContentSample() { // ... if (vertical) { Column { …

Android

4 min read

JetpackComposeのmovableContentOf
JetpackComposeのmovableContentOf
Android

4 min read


Feb 23

GradleのDependency locking

Gradleは依存関係のバージョン指定に動的バージョンを使用することができますが、このバージョンを固定する機能があるので、それについてまとめておきます。 Locking dependency versions Use of dynamic dependency versions (e.g. 1.+ or [1.0,2.0)) makes builds non-deterministic. This causes builds to break…docs.gradle.org 他言語のライブラリ管理のロックファイル(BundlerのGemfile.lockやnpmのpackage-lock.json)と似たようなものになります。 動的なバージョン ぼくが観測している範囲では基本的にあまり …

Gradle

10 min read

GradleのDependency locking
GradleのDependency locking
Gradle

10 min read


Jan 20

Composeの様々なクリック処理

ComposeではModifierを使ってクリックを処理する方法がいくつかありますので、それらをまとめておきます。 Modifier.clickable clickable は一番シンプルなクリックイベントを処理するものになります。 Box( modifier = Modifier.clickable { // クリックされたときの処理 } ) この cli …

Jetpack Compose

6 min read

Jetpack Compose

6 min read


Dec 30, 2022

ViewModelで画面引数を受け取る

意外と知られていない気がするので、ViewModelで画面引数を受け取る方法をまとめておきます。 AssistedInjectなどの特殊なことも必要なく、かなり簡単にViewModelで画面引数を受け取れます。 受け取る方法 実はViewModelで画面引数を受け取るには非常に簡単で、以下のように SavedStateHandle から取得できます。 class SampleViewModel( savedStateHandle: SavedStateHandle ) : ViewModel() { val userId: String? = savedStateHandle["userId"] // ... } ViewModelのコンストラクタで SavedStateHandle を受け取るようにしておくと、画面引数として渡したときと同じキーを使うだけ取得できます。

Android

4 min read

ViewModelで画面引数を受け取る
ViewModelで画面引数を受け取る
Android

4 min read


Dec 9, 2022

Proto DataStoreで様々なデータを扱う

Proto DataStoreはSharedPreferencesに比べて多くのデータタイプを扱うことができるようになっています。Proto DataStoreでどのようなデータを扱うことができるかを見ていきます。Protocol Buffersの話がメインになります。 また、最後にprotoファイルを変更するときに気をつけることを簡単に書いてい …

Android

9 min read

Proto DataStoreで様々なデータを扱う
Proto DataStoreで様々なデータを扱う
Android

9 min read


Nov 19, 2022

Jetpack Composeで画面の結果を返す

Composeの画面遷移で、前の画面に結果を返す方法についてまとめておきます。 基本的にはFragmentと同じような感じで NavBackStackEntry の SavedStateHandle を使用していきます。 結果を返す ScreenAからScreenBに遷移して、ScreenBでの画面の結果をScreenAに返す処理です。 navController.previousBackStackEntry?.run { savedStateHandle["result"] = "Foo" } 上記のように NavHostController#previousBackStackEntry の SavedStateHandle にKey-Valueで設定するだけです。 previousBackStackEntry っていうのが大事で前の画面の NavBackStackEntry アクセスしています。

Jetpack Compose

4 min read

Jetpack Composeで画面の結果を返す
Jetpack Composeで画面の結果を返す
Jetpack Compose

4 min read

Kenji Abe

Kenji Abe

690 Followers

Programmer / Gamer / Google Developers Expert for Android, Kotlin / @STAR_ZERO

Following
  • Fumihiko Shiroyama

    Fumihiko Shiroyama

  • toshihiro ichitani

    toshihiro ichitani

  • Jaewoong Eum

    Jaewoong Eum

  • sadakoa

    sadakoa

  • Yigit Boyar

    Yigit Boyar

See all (156)

Help

Status

Writers

Blog

Careers

Privacy

Terms

About

Text to speech

Teams