LoginSignup
2
1

More than 3 years have passed since last update.

Android勉強メモ[構成要素とResourceについて]

Posted at

はじめに

どうやらAndroidの勉強をする必要が生じてしまったので、今日からAndroidについての勉強メモも残すことにしました。その際にこのサイトがとても勉強になったので、それの日本語版サマリ的な感じでまとめます。
今回はAndroidの構成要素とResourceについてです。

Android applicationの構成要素

Component 説明
Application Applicationが持つ最終的なcomponent
Activity ヴィジュアルに関係する。viewsfragmentを用いてUI画面を作成する
Service UIを提供しない形でタスクを走らせるための要素。他のアプリとのコミュニケーションや、ユーザー通知を送ったりする
Broadcast receiver システムメッセージやインテントをlistenするために登録する要素。あるイベントが発生すると、レシーバーがAndroidシステムからの通知を受け取る
Content provider インターフェースの構成やアプリケーションデータを定義する。SQLiteが頻繁にプロバイダーと連結される

Layout filesについて

AndroidのActivityはViewFragmentを定義する。LayoutにはXMLファイルを用いて記述されており、res/layoutのディレクトリ下にある。またLayoutはViewGroups->Views->widgetという関係が存在する。

定義したLayoutはsetContentView()というメソッドを用いてActivityから呼び出される。Layoutで一番メインとなる子要素としてandroid:layout_widthandroid:layout_heightが存在する。各要素に割り当てる値には以下の2つが代表される。

  • match_parent -> parentの中で割り当てられる最大サイズ
  • wrap_content -> widgetが適切にレンダリングされる最小サイズ

また、Layoutには以下のような種類が代表される。

  • ConstraintLayout -> フラットなViewの階層になる
  • FrameLayout -> 子要素がトップに描画されていく
  • LinearLayout -> 子要素が水平or垂直に並んで配置される
  • RelativeLayout -> widgetがお互いに相対的な位置関係になる
  • GridLayout -> グリッドテーブルを用いたViewの編成をする
  • ScrolView -> 子要素が多すぎる場合でもスクロールを用いてスクリーンに表示できる

Resource filesについて

AndroidにはLayout以外にもリソースに関する設定ファイルが存在する。これらはresource qualifiersと呼ばれている。以下に種類を示す。

  • drawables -> 画像・ベクター・XMLファイルが存在
  • values -> 文字・色・大きさetcをそれぞれ独立したXMLファイルで設定
  • layout -> 省略
  • animator -> animation APIをXMLで定義する
  • raw -> 任意のrawファイル(InputStream objectを介してアクセスできる)
  • menu -> ツールバーのアクションを定義

それぞれのリソースファイルにはAndroidのビルドシステムによってIDが割り当てられる。生成されたIDはR.javaのファイルに含まれている。もし新しいリソースファイルを追加した場合もAndroidのシステムが自動的に新しいR.javaファイルを生成してくれる。IDはandroid:idを用いて一意の値が付与される。Android SDKではIDはキャメルケース(e.g., buttonRefresh)で定義するのがグッドプラクティス。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1