layout、manifest
■XML
XMLとは文章やデータの意味や構造を記述するマークアップ言語の一つです。
マークアップ言語は「タグ」と呼ばれる特定の文字列で文章を囲うことで、
文章の構造(見出しやタイトル)や装飾(文字サイズ変更や色変更)を行うことができます。
同じマークアップ言語のHTMLはタグの内容が決められていますが
XMLは記述方法が統一されていますが、タグなどは独自で作成できるため
様々なソフトでデータを保存するためのファイルフォーマットとして使用されています。
●XMLファイル作成
XMLはテキストファイルなので、「.txt」のファイルを新規作成し、
拡張子を「.xml」に変更すれば作成可能です。
●タグ
タグは「<」~「>」までの間に特定の文字列を設定します。
HTMLでは<head>や<body>などがありますが
XMLでは開発側で独自のタグを作成することができます。
例:
<title>XMLテスト</title>
タグを使用する場合は上の例のように特定の文章をタグで囲みます。
開始のタグは作成したタグをそのまま使用しますが、
終了箇所では使用しているタグの文字列の前に「/」をつけて
開始タグと混同しないようにします。
●基本書式
XMLの書式は以下のようになっています。
例:
<!-- XML宣言 -->
<?xml version="1.0"?>
<!-- XML本体 -->
<player>
<hp>100</hp>
<mp>50</mp>
<at>5</at>
<def>5</def>
</player>
始めにXMLファイルであることを宣言し、その後XMLデータ本体を記述を行います。
宣言とデータ本体の間にDTDというデータ構造を決める部分がありますが、
省略可能な部分でもありますので、今回は省略しています。
※<!-- ~ -->の部分はコメントです。
■manifest
マニフェストファイルはxml形式で書かれているファイルです。
Androidアプリには必ずマニフェストファイルが必要です。
マニフェストファイルの中にはアプリの名前やアイコン情報、
機能ついての情報が書かれているので、このファイルがないと
Androidアプリとして認識されません。
●manifestファイルの内容
①.xml宣言
このファイルがxmlファイルであることを宣言します。
②.manifestタグ
manifestデータ本体です。
この時に「android」と「package」の設定を行います。
③.applicationタグ
アプリケーションのメイン部分です。
android:allowBackup:
バックアップ処理を有効にするかどうかの設定
android:icon:
アプリケーションのデフォルトアイコンの指定
android:label:
アプリ一覧で表示するアイコン
android:theme:
画面のテーマの設定
タイトルバーの有無等を決めることができる
④.activityタグ
Androidでは1つの画面を1つのActivityで管理しています。
Activityは最低1つ必要です。
もし、Activityを追加したらマニフェストファイルに追加する必要があります。
android:name:
Activityを継承しているクラスのパスを指定します。
これでAndroidは「このアプリの画面は指定したクラスのパスで
定義している」と認識します。
⑤.intent-filterタグ
intent-filterはintenについての設定を行う部分です。
intentは画面の遷移、起動に関する機能です。
action android:name
アクションの内容を指定します。
nameで設定する"android.intent.action.***"の
***部分が大まかなアクションの動作指定部分になります。
上のコードで表示しているマニフェストファイルのMAINは
アプリケーションを起動時に動作させるアクティビティの指定です。
この指定は全アクティビティの中で1つしかできません。
最初に起動するアクティビティに対し、設定します。
category android:name
カテゴリはアクションに追加する情報の指定をします。
指定はnameの"android.intent.category.***"の
***部分で追加情報の指定を行います。
上のコードで表示しているマニフェストファイルのLAUNCHERは
ホームのアイコンから起動可能なアクティビティであることを
設定しています。
intentファイルの内容をまとめると以下の内容のアクティビティとなります。
「ホームアイコンから起動可能で、起動したら
最初に表示を行うアクティビティ」
■layout
レイアウトファイルはxml形式で書かれているファイルです。
画面を構成するためのファイルになっているので、
このレイアウトファイルにボタンなどのUIを追加したら画面に反映されます。
●Layoutファイルの内容
①.XML宣言
このファイルがxmlファイルであることを宣言します。
②.Layout
ここでレイアウトの設定を行っています。
上のコードではRelativeLayoutですが、他のレイアウトを設定(LinearLayOut等)したら
そちらの設定でレイアウトが行われます。
android:~~はレイアウト設定です。
tools:context
contextで指定したActivityに対し、このレイアウト内容が反映されます。
③.TextView
HelloWorldを表示するためのTextViewというUIパーツです。