Android勉強メモ[構成要素とResourceについて]
はじめに
どうやらAndroidの勉強をする必要が生じてしまったので、今日からAndroidについての勉強メモも残すことにしました。その際にこのサイトがとても勉強になったので、それの日本語版サマリ的な感じでまとめます。
今回はAndroidの構成要素とResourceについてです。
Android applicationの構成要素
Component | 説明 |
---|---|
Application | Applicationが持つ最終的なcomponent |
Activity | ヴィジュアルに関係する。views ・fragment を用いてUI画面を作成する |
Service | UIを提供しない形でタスクを走らせるための要素。他のアプリとのコミュニケーションや、ユーザー通知を送ったりする |
Broadcast receiver | システムメッセージやインテントをlistenするために登録する要素。あるイベントが発生すると、レシーバーがAndroidシステムからの通知を受け取る |
Content provider | インターフェースの構成やアプリケーションデータを定義する。SQLiteが頻繁にプロバイダーと連結される |
Layout filesについて
AndroidのActivityはView
とFragment
を定義する。LayoutにはXMLファイルを用いて記述されており、res/layout
のディレクトリ下にある。またLayoutはViewGroups
->Views
->widget
という関係が存在する。
定義したLayoutはsetContentView()
というメソッドを用いてActivityから呼び出される。Layoutで一番メインとなる子要素としてandroid:layout_width
とandroid: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)で定義するのがグッドプラクティス。
Author And Source
この問題について(Android勉強メモ[構成要素とResourceについて]), 我々は、より多くの情報をここで見つけました https://qiita.com/ufoo68/items/24eb657464733825d491著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .