Android OSの構造
System Apps
Android OSに備わっているアプリ。
Java API Framework
Android開発に必要なJavaライブラリ。
Native C/C++ Libraries
C言語やC++言語でプログラムを作成するためのライブラリ。
Android Runtime(ART)
Javaプログラムを実行するための実行環境。
Hardware Abstraction Layer(HAL)
Android端末のハードウェアを扱うライブラリ。
Linux Karnel
Android Karnelの核となるカーネル。
Android Studio
JetBrains社が開発したIDEであるIntelliJ IDEAをベースに、Google社が開発したAndroidアプリ開発環境の標準となるIDE。
Android Virtual Device(AVD)
Androidエミュレータ。
Hardware Accelerated Execution Manager(HAXM)
Intel社が提供する、仮想化環境を使うことでAVDの動作を高速化するツール。
Project Template
参考1: Project Template(1/2)
参考2: Project Template(2/2)
参考3: GUIコンポーネント
| 選択肢 | 内容 |
|---|---|
| No Activity | 画面を必要としないアプリ |
| Basic Activity |
NavigationBarが表示され、FloatingActionButton(FAB)が組み込まれたアプリ |
| Button Navigation Activity |
BottomNavigation(下タブ)が組み込まれたアプリ |
| Empty Activity | 最小限のコードで構成されたアプリ |
| Fullscreen Activity |
NavigationBarやFABが表示されないフルスクリーンのアプリ |
| Google AdMob Ads Activity |
広告バナーを表示するアプリ |
| Google Maps Activity |
Googleマップを表示するアプリ |
| Login Activity |
非同期通信でログイン処理を行うアプリ |
| Master/Detail Flow | スマートフォンとタブレット端末それぞれに 適した画面構成を行うアプリ |
| Navigation Drawer Activity |
サイドメニューを扱うアプリ |
| Settings Activity | アプリの設定画面を生成するアプリ |
| Scrolling Activity | 下スクロールによってTopAppBarを生成するアプリ |
| Tabbed Activity |
Tabバーが組み込まれたアプリ |
| Fragment + ViewModel | フラグメント間でデータ共有を行うアプリ |
| Native C++ |
C++でアプリ開発を行う場合 |
Androidビューのファイル構成
manifests
AndroidManifest.xmlファイルが格納されたフォルダ。
アプリを実行するのに必要な設定が記述される。
java
.javaや.ktファイルが格納されたフォルダ。
res
Androidアプリの実行に必要な、javaフォルダに属さないファイル(=リソース)群。
res内のサブフォルダ構成
| サブフォルダ | 内容 |
|---|---|
| drawable |
画像ファイル |
| layout | 画面構成に関わる.xmlファイル |
| mipmap | アプリのアイコンファイル |
| values | アプリで表示する固定文字列(strings.xml),画面テーマ( themes.xml),色構成( colors.xml)を表す .xmlファイルなど |
Gradle Scripts
Android StudioのビルドシステムGradleのビルドスクリプトをまとめたノード。
レイアウトファイルとアクティビティ
Androidアプリ開発において編集するファイルは主に以下の3つ。
res/layoutフォルダのレイアウトXMLファイル(=レイアウトファイル)javaフォルダの.ktまたは.javaファイル(=アクティビティ)res/valuesフォルダのstrings.xmlファイル
レイアウトファイル
画面構成を担う.xmlファイル。
アクティビティ
処理を担う.ktまたは.javaファイル。
なお、レイアウトファイルとアクティビティのペアは関連した名前をつける。
(ex.) activity_main.xmlファイルとMainActivityクラス
strings.xml
アプリで表示させる文字列を記述した.xmlファイル。
アプリを多言語対応させる場合は、所定フォルダ(日本語の場合はvalues-ja)に格納するだけで、Android OSの言語設定に応じて自動に切り替えられる。
