2019-01-01から1年間の記事一覧
背景 GWなのでアウトプットに専念してみる 一旦基本のTODOアプリを作ったらどんな風になるのか試してみる 子供が寝た隙に毎日1時間程度の稼働でどこまでいけるか 子供が高熱を出して早速3日ストップした。。。 Repositoryを用意する 直接Daoを操作するのは…
背景 GWなのでアウトプットに専念してみる 一旦基本のTODOアプリを作ったらどんな風になるのか試してみる 子供が寝た隙に毎日1時間程度の稼働でどこまでいけるか 子供が高熱を出して早速3日ストップした。。。 Navigationを用意する まずはres/navigation …
背景 GWなのでアウトプットに専念してみる 一旦基本のTODOアプリを作ったらどんな風になるのか試してみる 子供が寝た隙に毎日1時間程度の稼働でどこまでいけるか Roomを使ってDB作成 @Dao interface TodoDao { @Query("SELECT * from todo") fun getAllWords…
背景 急遽RoomとPagingの再復習をする必要に駆られたので頑張る まずはRoomから Room RoomはQLiteをラップして利用できるコンポーネント。 以下のCodeLabsを行う。 codelabs.developers.google.com Gradleの設定 以下の設定をbuild.gradleに記載する // Room…
背景 新規プロジェクトでViewModelの動きを試そうとしたら「Type parameter bound for T in XXX is not satisfied」が発生した ソースコード MainActivity.kt import android.os.Bundle import androidx.fragment.app.FragmentActivity import androidx.life…
背景 なんとなくnullableにしたくなくて次のように記載したら'lateinit' modifier is not allowed on properties of primitive type と警告された。 /** * Constructs an [ClientException] with no detail message. */ constructor() : super() /** * Const…
背景 なんとなくFirebase使ったことないのまずいかなぁと思ってFirebaseに手を出してみる。 今まではPush通知くらいしか使ってなかった。 今回はCloud Firestoreを利用してチャットアプリを作ってみる Cloud Firestore NoSQLドキュメント指向データベースら…
背景 DroidKaigi 2019 のofficial appが公開されている:参照 せっかくだしコントリビュートしたいなと思ったけど思った以上に皆新しい技術使っててよくわからない。。 とりあえず一つずつ理解することにする。 Storeを読む ついにMainActivityから脱出してSt…
背景 DroidKaigi 2019 のofficial appが公開されている:参照 せっかくだしコントリビュートしたいなと思ったけど思った以上に皆新しい技術使っててよくわからない。。 とりあえず一つずつ理解することにする。 コンテンツの実装を見ようとした。 Navigation…
背景 DroidKaigi 2019 のofficial appが公開されている:参照 せっかくだしコントリビュートしたいなと思ったけど思った以上に皆新しい技術使っててよくわからない。。 とりあえず一つずつ理解することにする。 アプリ起動から順に追っていく DroidKaigi 2019…
背景 DroidKaigi 2019 のofficial appが公開されている:参照 せっかくだしコントリビュートしたいなと思ったけど思った以上に皆新しい技術使っててよくわからない。。 とりあえず一つずつ理解することにする。 DroidKaigi 2019 official app のbuild.gradle …
背景 static public な文字列を定義したくなった。(途中で思い返して異なる方法をとったけれど。) 内容 以下のような形でdomainに文字列を設定していたが、利用可能なドメインは限られているため、いくつかの固定文字列から選択させる形を取ろうとした。 f…
背景 毎回RecyclerViewを利用する時に「どうやって作るんだっけ」と悩む 根本的に理解し直す必要があるので再度復習する。 構成 登場人物は以下の4つ。 Adapter RecyclerViewに表示するViewを生成・管理・紐付ける役割を持つ。 表示するViewを生成するため…
背景 以下のクラスを考える。 ここではパラメータが二つあるが、それぞれ意味合いが異なる。 domain : インスタンスの特徴を示す情報。アイデンティティ。 repository : 依存性注入のため生成時に指定している。動作環境によって変更される。 このクラスのイ…
背景 以下の構成を考える。 ドメイン層は他の層と依存関係を持たないが、ドメインのメソッドで通信を行いたい。 そのためにinterfaceを設定してリポジトリ層と疎結合にする。 ただしリポジトリ層でも通信をする場合とテスト用にローカルファイルを返却する場…