Android
開発メモ
昔ながらのプログラマが躓いた Android アプリ開発のポイント
コンソールアプリ開発者の視点からみたandroid開発の姿
これって何の話?
エントリポイントはどこだ?
エントリポイントもイベントループもない(見えない)
アプリ開始のイベントハンドラは Application#onCreate()
アプリの終了は OS におまかせ
Activity とか Service ってなんだ?
ApplicationがActivityやServiceを所有しているってこと?
じゃあどうやって Activity や Service を呼び出すの?
そもそも「アプリの起動」って?
Applicationの派生クラスを介してやり取りするってどういうこと?
そんな面倒なことしなくても static 変数使えばいいんじゃない?
じゃあたとえば Service から Activity 内のイベントを発火させたいときはどうするの?
まとめ
code:modal bottom sheet の開け方.kt
val modal = ModalDialogFragment()
readedModal.show(supportFragmentManager, modal.tag)
よく見かけるInflate, Inflaterについて
ニュアンス的には、xmlで書かれたレイアウトファイル(R.layout.hogehoge)を、プログラム内で使えるようデシリアライズする感じ・・・?
LayoutInflaterを使ってViewを入れ替える例
onCreateのSavedInstanceについて
画面回転した時、androidのActivityは作り直されるらしい
その際の、前回作ってたインスタンスの情報が入っている。らしい?
ModalBottomSheetを作成した時のコードについて
ModalBottomSheetのレイアウトをMain Layoutに仕込むこと前提のコードになっているので、内部のRecyclerViewなどへのアクセスをActivityから行おうとしている。
バインディングから取得するなど、別の場所からViewを取れば動作させられる
androidアプリのレイアウトの考え方
基本はLinerLayout(?)
縦に並べる、横に並べるを組み合わせて実現する。
あまりポジションでどうこうする発想ではなさそう