ひよっこゲームブログ

なにもかも初心者のひよっこがゆったりと何かする

Androidで使う技術の話

つよつよAndroidエンジニアになるためには
必要なんじゃねーかなぁという技術を列挙してみる


Android Jetpack
DataBinding ⇒ findViewById() 使わずレイアウトにぶち込んで同期する
LiveData ⇒ ライフサイクルに振り回されないようにするやつ
Navigation ⇒ Activity遷移の監視
Paging ⇒ リストビューとか
Room ⇒ DBにぶち込む
ViewModel ⇒ LiveDataとかDataBindingとかと一緒につかう(管理)
WorkManager ⇒ タスクの実行の管理(だったっけ


ライブラリ
RxJava ⇒ 同期処理とか(だった気がする
RxLifecycle ⇒ ライフサイクルの監視系(だった気がする
Retrofit2(okHttp) ⇒ APIめっちゃ楽
Dagger2 ⇒ 依存性注入奴。Koinってどうなんでしょうね
moshi ⇒ jsonとか使うときに
AndroidKTX ⇒ 忘れた


テスト
JUnit ⇒ この辺は前に書いた
JUnitRunner ⇒ この
Espresso ⇒ 辺
UIAutomator ⇒ 前
Robolectric ⇒ 書いた
mockito ⇒ モックのやつ


Androidの基礎とか設計とか
ライフサイクルの理解
アプリのコンポーネント
・アクティビティ ⇒ 要は画面
・サービス ⇒ 裏で動くやつな!音楽プレーヤーとかいい例
・ブロードキャストレシーバー ⇒ サービス側で受け取ったのをなんとやら
・コンテンツプロバイダ ⇒ まだ理解できてない
MVVM / クリーンアーキテクチャ ⇒ 綺麗に分離させて書けない・・・


Android周辺の知識
Firebase (FCM) ⇒ PUSH通知とかで使う
GooglePlayConsole ⇒ テストユーザーにアプリのCloserdβとか公開できる
リリース周りのあれこれ ⇒ リジェクトされたときめんどいぞ!


そのほか
Kotlin ⇒ まだまだJavaライクにしか書けてないので反省
xml ⇒ ガワ書くのめんどい
Git ⇒ まぁ
GitHub ⇒ 業務で使ってないので知識が不安すぎる
CI / CD ⇒ 業務で(略)


結構多いな
1/3くらいは使ったり理解したりできてると思う・・・

これ全部きちんと使えたら、まぁ間違いないと思う
なんかあったら誰か補足してくれ