活動
2020/09/30から2020/10/29まで
2020/10/14
- 高徹 11:01 機能 #165: Androidアプリケーション(検温記録)を古典MVC構造で作成する
- 調査メモ
AdapterのswapCursorメソッドに、
notifyItemRangeInsertedを呼ぶコードを入れる? 次URLのコメント参照
https://gist.github.com/skyfishjy/443b7448f59be978bc59
2020/10/13
- 高徹 08:21 機能 #165 (フィードバック): Androidアプリケーション(検温記録)を古典MVC構造で作成する
- しばらく使用していると、検温履歴の表示で次の事象が発生するようになった。
* 順番がID逆順ではなく順不同で表示されることがある
* 同じ日時の検温が履歴上複数表示されることがある
状況から、onResumeが走るときに生じているように推測
RecyclerViewの使い方を事例調査すると、onResumeでは次の処理を記述する模様
* Adapterに変更通知(notifyDataSetChanged)
* RecyclerViewの表示を空にする ⇒ Cur...
2020/10/04
- 高徹 08:04 機能 #167: Androidアプリケーション(検温記録)をJetPackを用いたMVVM構造で作成する(Kotlin編)
- h4. ドメインオブジェクト v.s. エンティティクラス
View側(ViewModelおよびView)で扱うデータは、Roomへの依存性を持たないドメインオブジェクト(POJO)とするか、Roomのエンティティをそのまま流すか、のトレードオフが発生。
* リポジトリは永続化手段(SQLite、Realm、あるいはリモートに通信を介して)を抽象化するので、永続化手段の具象型(Entity)を扱うのは不適切では?
* ドメインモデルはRoomライブラリに依...
2020/10/03
- 高徹 20:06 機能 #167: Androidアプリケーション(検温記録)をJetPackを用いたMVVM構造で作成する(Kotlin編)
- h4. リポジトリとデータベース
JetPackでは、SQLiteデータベースのアクセスをRoomライブラリ(ORM)で行う。
h5. Roomで検温テーブル
Entity、Dao、Database の責務を持つクラスをそれぞれ用意する。
まずはEntityを担うクラス。これはSQLiteテーブルのスキーマとのマッピングを表現し、このクラスのインスタンスは1行のレコードを保持する。値を表す型なので、data class としている。
* Entityクラス T...
2020/10/02
- 高徹 22:35 リビジョン f8c3ace7 (swe_primus): refs #167 Modify to provide an immutable property of MeasuredAt to an activity
- 高徹 22:30 リビジョン 63aaca1a (swe_primus): refs #167 Move logic from activity to viewmodel
2020/09/30
- 高徹 08:01 機能 #167: Androidアプリケーション(検温記録)をJetPackを用いたMVVM構造で作成する(Kotlin編)
- h4. ViewModelの作成(1)
日時を保持し、日時を通知する機能を実装する。
通知機能はモデルとビューを分離する設計では必須であり、その手段としてJetPackではDataBindingとLiveDataの2つの仕組みが提供されている。ViewModelはLiveDataと組み合わせるのが定番なようで、そちらで実装する。 - 高徹 08:00 リビジョン 4116efde (swe_primus): refs #167 Add ViewModel with measuredAt