にんにんにん

エンジニアな日々を書いていきます

BDD(ビヘイビア駆動開発)

BDD(ビヘイビア駆動開発) 新しいチームにジョインして、BDDが導入されていたのでメモとしてまとめる。 Androidでの実装方法やフレームワークは別途まとめる。 What is BDD? TDD(テスト駆動開発)の拡張版。 TDDでは、 - どこから始めるか? - 何をテスト…

In App Messagingの遷移先をWebViewで開く

In App Messaging Firebase In-App Messaging を使ってみる | Firebase Documentation Firebase In App Messagingを使用すると、簡単にプロモーション用のポップアップダイアログやバナーをアプリに表示することができます。 コンソールから表示したい画像だ…

JetpackCompose + Paging3でPaging実装

Paging3を使用。JetpackCompose用のオプションがあるので、build.gradleに追加する。 // optional - Jetpack Compose integration implementation "androidx.paging:paging-compose:1.0.0-alpha15" Paging3の実装に則り、PagingSourceを定義。 この辺はcodel…

DataBindingを有効化する

今更な話ですが、、、 AndroidStudioにて、DataBindingを有効化するには、 アプリモジュールスコープのbuild.gradleファイルに、以下の内容を記述する android { .... dataBinding { enabled = true } } まあ、補完が働いてくれるのでわかるかと

マルチスレッドを考慮したSingleton

例えば、以下のようなJavaコードがあったとします。 public class Singleton { private static Singleton singleton = null; private Singleton() { System.out.println("インスタンスを生成しました"); } public static Singleton getInstance() { if (sing…

アノテーション

@Overrideとか、@Deprecatedとか、日ごろJavaを書いていると出てくるこいつら こいつらを付けるとコンパイル時にエラーを検出できる、などふわっとしたくらいにしか思っていなかったが、 その理解でいるのも危険だなと感じたので、まとめてみることにしまし…

参照型のキャスト

Javaにおける、スーパークラスとサブクラスの関係性について勉強したので、メモ class Pet { 中身は省略 } class RobotPet extends Pet{ 中身は省略 } があったとして、 Pet p = new RobotPet(); とスーパークラス型の変数は、サブクラスのインスタンスを参…

Activityのライフサイクルを管理する

アクティビティのライフサイクルについて、具体的にアプリの画面だとどんな状態になっているのかスクショを用いて説明している記事とか見かけないので、自分なりに解釈してみました。 アクティビティの状態は大きく分けると3つに分かれるようです。 再開状態…

AndroidのActivityについて整理してみる

Androidのコンポーネントとして、基本中の基本であるActivity 開発している中で必ずと言っていいほど触るし、目にしない日はありません。 しかし、身近にあるからこそ灯台もと暗し、という訳ではないが見落としがちになります。 今回、そんなわかってそうで…

脳を休める

最近、頭がずっとボーっとしている 体力が回復してないのかなー?と思って、温泉に行ってみたり、マッサージを受けてみたりしているが、疲れている。 考えるのが難しい。考えようとするのだけど、頭がボーっとしている。 「疲れ」というものを分析してみる。…

AndroidのDataBindingをtwo way にしたいとき

公式のドキュメントだとパッと見つけられないのでメモ developer.android.com 通常のDataBinding ViewModelの値を更新 → Viewも更新 TwoWayの場合 ViewModelの値を更新 → Viewも更新 Viewを更新 → ViewModelの値を更新 というように、ViewModel、View双方にO…

オブジェクトのやり取りにもの思う

Androidの話になりますが、例えばAPIからのレスポンスをJavaのentityとして保持していて、 Intentを飛ばして受け取る先でもそのentityを使いたい、という場面があるとします。 その際、考えられるのは Intentを受け取る先で再びAPIを叩く entityをIntentのpu…

REALFORCE買いました

REALFORCEの87UB-5587買いました。 キーボードに対してこだわりはなかったのですが、 入社してから先輩エンジニアたちが割とこだわっていたこと また、ビルド中にマシンが熱くなって手を置いているのが辛いこと から購入しました。 静電容量無接点方式、良い…