Skip to content
Go back

Androidメモ

· Updated:

Androidプログラミングについて個人的にまとめたものです。内容には間違いが含まれている場合があります。

SDK

R

  • Android SDKによって自動生成されるクラス
  • resディレクトリ以下に存在するリソースのIDが静的変数として定義される

参考:https://developer.android.com/guide/topics/resources/providing-resources?hl=ja#Accessing

LayoutInflater

  • 定義されたレイアウトからViewを生成するためのクラス
val context: Context
val root: ViewGroup
val attachToRoot: Boolean  // 生成したビューをrootの下に付けるか
val inflater = LayoutInflater.from(context)
val view1 = inflater.inflate(R.layout.layout_id, root, attachToRoot)

// これを一挙に行う関数が用意されている
// このとき、attachToRootは(root != null)になる
val view2 = View.inflate(context, R.layout.layout_id, root)

参考:https://qiita.com/Bth0061/items/c4f66477979d064913e4

LiveData

  • 値のセットを通知するためのクラス
  • observe()で通知を受けるObserverのインスタンスを追加する
    • observerのlifetimeを指定できる
  • setValue()でobserversに通知する
  • フラグメントではonActivityCreated()の中でviewLifecycleOwnerをownerにしてobserveすると良い
    • こうすると、observerを適切なタイミングで生成・除去してくれる

参考:ttps://blog.usejournal.com/observe-livedata-from-viewmodel-in-fragment-fd7d14f9f5fb(2025/07/05現在、リンク切れ)

UI要素

参考:https://note.com/numero_dev/n/n2e0ec0105cea

  • StatusBar:アプリに関わらずデバイスの状態を表示する最上部の領域
  • NavigationBar:アプリに関わらず画面遷移を行うボタンを配置する最下部の領域
  • NavigationDrawer:横からスライドするナビゲーション
    • メニューのアイテム数が5つ以上のときに使うことを推奨している
  • BottomNavigation:フッターに付くナビゲーション
    • メニューのアイテム数が3~5つのときに使うことを推奨している
  • BottomSheet:下からスライドする領域
  • Dialog:ユーザーに操作を選択させるときに使う
  • Snackbar:画面下部に表示するメッセージ
    • アクションを1つ併記できる
  • Toast:任意の場所に表示できるメッセージ

RecyclerView

参考:https://qiita.com/naoi/items/f8a19d6278147e98bbc2

  • 項目を並べて表示するためのビュー

Adapter<VH extends ViewHolder>

  • RecyclerViewに表示されるビューにデータをセットするための抽象クラス
    • 項目の数を返すgetItemId()
    • VHを生成するonCreateViewHolder()
    • VHにデータをセットするonBindViewHolder()
  • RecyclerViewにセットされる
ViewHolder
  • 1行分のビューを保持する抽象クラス
  • Adapterの型パラメータとして使用する

LayoutManager

  • 項目の並べ方を制御するための抽象クラス
  • 一般的なリスト表示を実現するLinearLayoutManagerが用意されている

Toolbar

  • App barを実現するためのクラス
  • 他のコンテナと同様に配置してビューを操作する
  • アクティビティにActionBarとしてセットすることもできる
    • AppCompatActivity.setSupportActionBar(toolbar)でセットする
    • その場合、処理はアクティビティのメソッドで実装する

参考:https://qiita.com/kobakei/items/f17019f8b0a88c8e57f4

Fragment

参考:https://mixi-inc.github.io/AndroidTraining/fundamentals/2.02.activity-and-fragment.html

  • 付け替え可能なUIセットを管理するためのクラス
  • ユーザーはいくつかのメソッドを実装する必要がある
    • onCreateView
      • ビューをinflateしてリターンする
    • onViewCreated
      • 生成したビューに対する操作を行う
    • onActivityCreated
      • フラグメントを再開するときには呼ばれない
      • 生成が完了したアクティビティにアクセスできる
    • onDestroyView
      • onCreateViewで生成したものを破棄する
      • Back stackに積むときにも呼ばれる
  • フラグメントの付け替えはFragmentManagerから行う

FloatingActionButton

参考:https://stackoverflow.com/questions/30769080/bottom-align-floating-action-button

Tips

参考文献

翻訳 android best practice — Qiita Kotlinでインクリメンタルサーチをやってみる — Qiita Bottom Align Floating Action Button — Stack Overflow