April 30, 2021

DartのStreamでRxのBehavior Subjectを再現する

Dartには標準ライブラリのasyncパッケージにStream クラスが含まれています。 これはこれでとても便利なのですが、Androidで長く使っていたせいで非同期処理の操作がRx脳になっているので、時々こういうのはRxではできるのになーって思うことが多々あります。 Rxで個人的に一番好きなクラスはBehaviorSubjectでStreamの最後の値をキャッシュしておいて、Subscribe(Listen)と同時に最後の値をemitしてくれるものです。 オペレータだとdistinctUntilChangedかscanかwithLatestFron(combine)です。 Read more

March 31, 2021

FlutterのLifecycle(onResume, onPause)を検知する

FlutterはUIを構成するものはすべてWidgetでできています。そのため、AndroidにあるActivityやiOSにあるViewControllerのような画面の概念は厳密にはありません。 FlutterではNavigatorがページのような概念を持ったRoute(参考) のスタックを管理することで画面遷移を実現しています。 今回は NatigatorObserver と WidgetsBindingObserver を使ってアプリのライフサイクルイベントを検知します。 Read more

January 31, 2021

GASを使ってGmailにきた予定をGoogle Calendarに自動で登録する

最近は在宅勤務なのでミーティングの時間となるべく被らないように 宅配便の配達時間指定をすることが多いのですが、せっかく時間指定しても忘れていてミーティングが被ることがあります。 他にも予約したお店とかの情報が勝手にGoogleカレンダーに追加されたら嬉しいなって思うことが多かったので、Gmailにきたメールをパースしてカレンダーに追加する方法を紹介したいと思います。 Read more

December 22, 2020

Kotlin Multiplatform 対応したRealmを使ってみた

この記事はKotlin Advent Calendar 2020 の22日目の記事です。 Kotlin Advent Calendarに参加するのは今年で6年連続6回目になりました🎉🐦 毎年22日近辺を書いています。マイルストーンの時から書いている記事もあるので情報が古くなっているものもありますが、 過去にはこんな記事を書いていました。 Read more

November 30, 2020

SwitchBotでマンションのオートロックをキーレスにする

お家IoTが好きで家電はほぼ全て自動化されています。 最近はSwithchBotからもカーテンの自動開閉機がでたので導入してます。(自分は発売前にmakuakeで支援があったのでしてみました) 朝だけじゃなくて夕方暗くなってきた時に「OK, Google. 夜だよ」って言うと電気つけてカーテンを締めてくれるので結構快適です。 Read more

September 30, 2020

Ubuntu Server20.04にMirakurun+EPGStationで録画サーバを構築する

動作が重くなってきたこともあり、8年近く動いていた録画サーバを最近組み直しました。 録画サーバの用途だけなら、もっと低スペックのCPUで十分なのですが、録画サーバ兼自宅サーバ兼BOTサーバとして動かしたかったので Comet Lake世代でTDP35WのCorei3-10300Tで組んでいます。 ソフトはMirukurun とEPGStation を使っています。 Read more

July 31, 2020

FlutterでExpandableなListViewを実現する

ListView(AndroidだとRecyclerView)に状態を持ったレイアウトを作ったことがあるとわかるかもしれませんが、 基本的に繰り返しパターンを持ったUIはどのフレームワークでもレンダリングの負荷を下げるためリストのアイテムを再利用して描画します。 Flutterでも同様にListViewではアイテムが再利用されます。 Read more

June 19, 2020

FlutterでGraphQLを実用的に使う

WebやAndorid, iOSでおなじみのApollo Client はFlutterに対応していません。 Flutterでは代わりに、graphql_flutterというApollo Clientをインスパイアしたライブラリがあるのでこれを使います。 Read more

May 30, 2020

Dagger Android Hiltが神

Androidでよく使われているDIライブラリであるDaggerは今まで「分かりづらい」「学習コストが高い」「難しい」という声が多くありました。 Read more

© AAkira