2年ほど前にAndroidStudioをインストールしたのですが、一度ハッカソンに参加してから使っていませんでした...(そのときも初心者で全く分からず)
最近になってもう一度、一から学び直そうと思い、そのメモとして、誰かの参考になったらと思います。
目次
-
主なディレクトリ構成と役割
・manifests/AndroidManifest.xml
・res/drawable,layout,values...
・java/"ドメイン"."アプリ名"/~.kt
・GradleScripts/~.gradle
主なディレクトリ構成と役割
以下の4つに分けられる
・manifests/AndroidManifest.xml
アプリの設定やパーミッション、アクティビティの宣言
・res/drawable, layout, values...
アプリのアイコンや画像、XMLで定義された画面レイアウト、文字列リソースやスタイル、テーマなどのリソース
・java/"ドメイン"."アプリ名"/~.kt
Kotlinのソースコード(MainActivity.ktなど)
・Gradle Scripts/~.gradle
Kotlinプロジェクトのビルドおよび自動化ツール
build.gradleファイルは、プロジェクトの依存関係の管理などを行う
ルートプロジェクトの build.gradleファイル:
・プロジェクト全体の設定とビルドスクリプトを管理
・グローバルなビルド設定やプラグインの適用、リポジトリの設定
・サブプロジェクト(モジュール)の設定や依存関係の管理
サブプロジェクトの build.gradleファイル:
・個々のモジュール(アプリやライブラリ)のビルド設定とタスクを管理
・サブプロジェクト固有のビルド設定や依存関係の定義、リソースやソースコードの設定
settings.gradleファイルは、Gradleマルチプロジェクト構成におけるプロジェクトの設定を行う
xmlについての理解
大まかな理解
layoutディレクトリ内のxmlが最上流のxmlファイルであり、つまり、実際目にするもの
Kotlinのファイルを参照するファイル
→xml上でtools:context=".MainActivity"のようにxml上で書く
あとは、"@~/~"を辿ればファイルの繋がりは理解可能
よく書いてある
「xmlns:android=~」
「xmlns:tools=~」の意味
android:プレフィックスを使用するために必要
tools:プレフィックスを使用するために必要
android:id="@+id/~":
要素に「一意のID"~"を割り当てる」
app:srcCompat="@android:~"
「Androidフレームワークに組み込まれている」リソース"~"を利用する
android:layout_height="?~"
要素の高さを"~"の「高さに自動に合わせる」
vectorとresourcesの違い
Vectorは、数学的な数式や図形データを使用して画像を表現する
画像の拡大や縮小に対して優れた品質を維持し、解像度に依存しないため、「異なる画面サイズや解像度のデバイスでの一貫性のある表示が可能」
Resourcesは、Androidアプリケーションの「静的なリソースデータ」
アプリケーションが使用するさまざまな要素やデータ(画像、文字列、レイアウト、スタイルなど)を格納し、アプリケーションの実行中に参照や利用