1.1からあるオペレーターで、プロパティーの移譲オブジェクトを生成することができます。property生成時にロジックを実行することができ、例えば以下のようなことができます。プロパティーの親のオブジェクトに何か操作をするプロパティーの生成のパラメーターを検証する使い方まずはプロパティーになるclassを定義しましょう。実装したclassが必要です。ここではAndroidのSharedPreferencesを操作するStringのpropertyを定義します。もつclassを定義します。SharedPreferencesに値を出し入れするにはキーを保持する必要がありますが、必ずしもキーがプロパティー名と同じではありません。そこでプロパティーの移譲オブジェクトにキーを渡せるようにします。キーは空文字だと困るので検証したいですね。}}最後にこのプロパティーを使うclassを定義します。インスタンスのプロパティーをset/getするとSharedPreferencesを操作できます。キーの値を渡していますが、例えばこの値を空文字にするとインスタンス生成時に例外が発生するようになります。インスタンス生成ができるかはテストでチェックしてやるとよいでしょう。propertyを更に柔軟にすることができるでしょう。ViewModelをAutoDisposeに対応させる。2018、1日目(相当)の記事です。adventar.orgViewModelAutoDisposeViewModelをAutoDisposeに対応させる最後にViewModelViewModelは我々Androidアプリエンジニアの生活になくてはならないコンポーネントの一つである。AndroidのActivityのインスタンス単体のライフサイクルは特定の画面のライフサイクルより短く、画面回転やメモリー不足で簡単に消される。通信などの非同期処理は画面を完全に抜け出すまでやっていてほしいし、データも保持されてほしく、そういう時にViewModelを使う。使い方は公式ドキュメントを見てほしい。developer.android.comAutoDisposeAutoDisposeはUberが公開しているRxJava2のDisposableを自動的にdisposeするライブラリーである。大半の処理は実行を指示したライフサイクルに対応するライフサイクルで処理をキャンセル(createならdestroy、resumeならpause)したいものである。これをいい感じに自動的にやってくれるライブラリーがAutoDisposeだ。1.0.0でandroidxにも対応していて安心。.subscribe()などとしてやるだけである。これだけで現在の状態に対応したライフサイクルイベントが起きた時にdisposeされる。いうinterfaceがあり、これを使うと今のスコープをAutoDisposeに知らせることができる。disposeされる。よってAndroidのActivityやFragmentのライフサイクルに応じたスコープを返すようになっている。一方でViewModelはonClearedという単一のライフサイクルメソッドを持っている。呼ばれた時に破棄されてほしい。返すようにしてやればよい。}}最後に明日も何か書きます。ViewModelをAutoDisposeに対応させる。Backportに関しての雑メモ。