コンテンツにスキップ

Androidの基礎知識

Androidを開発するためには、基本的な仕組みを理解する必要があります。ここではAndroid開発に必要となる土台知識を整理します。

Androidアプリが動くデバイス

Androidアプリは多様なデバイスで動作します。 同じアプリでも、画面サイズや利用シーンによって設計が変わります。

  • スマートフォン 最も一般的なAndroidデバイスです。タッチ操作を前提とした設計が中心になります。

  • タブレット 画面が大きいため、一覧と詳細を同時表示するなど情報量を増やせます。

  • Android Auto 車載向けシステムです。安全性を重視したシンプルなUI設計が求められます。

  • スマートホーム スマートディスプレイなどで利用されます。音声操作との連携が重要になります。

  • ウェアラブル スマートウォッチなどの小型デバイスです。限られた表示領域での設計が必要です。

  • オーディオ機器 ワイヤレスイヤホンなど、画面を持たない機器との連携も存在します。

Androidのバージョン

Androidには複数のバージョンが存在します。 それぞれにAPIレベルという番号が付与されています。

APIレベルは、アプリが利用できる機能の範囲を示します。 数値が高いほど、新しい機能や強化されたセキュリティを利用できます。

すべてのユーザーが最新バージョンを使用しているわけではありません。 そのため開発では次の点を検討します。

  • どのAPIレベルから対応するか
  • 古い端末も対象にするか
  • 最新機能をどこまで利用するか

この判断はアプリの利用者数や目的によって変わります。

KotlinはAndroid開発で標準的に使われるプログラミング言語です。

特徴は次の通りです。

  • モダンで安全 Null安全により、値が存在しない問題を事前に防げます。

  • シンプルに記述できる 少ないコード量で同じ処理を表現できます。

  • Javaとの互換性 既存のJavaライブラリをそのまま利用できます。

初心者でも比較的読みやすく、安全にコードを書きやすい設計です。

プログラミングの基礎は次の3要素です。

  • 変数
  • 関数
  • 制御構文

変数は値を保存する仕組みです。 Kotlinでは val と var の2種類があります。

val name = "Taro"
  • 一度代入すると変更できない
  • 安全性が高い
  • 基本はこちらを使用する
val age = 20
// age = 21 ← エラー
var score = 0
score = 10
  • 後から値を変更できる
  • 状態が変化するデータに使用する
  • 基本は val を使用する
  • 変更が必要な場合のみ var を使用する

関数は処理をひとまとまりにした仕組みです。 同じ処理を再利用できます。

fun 関数名(引数): 戻り値の型 {
処理
return 戻り値
}
  • fun :関数を定義するキーワード
  • 関数名 :好きな名前を付けられる
  • 引数 :関数に渡す値
  • 戻り値の型 :関数が返す値の型
  • return :結果を呼び出し元へ返す
fun greet() {
println("Hello")
}
  • ( ) の中が空なので引数なし
  • 戻り値が無いので型は書かない
fun greet(name: String) {
println("Hello $name")
}
  • name :引数の名前
  • String :引数の型
  • name: String の形式で記述する

呼び出し例

greet("Taro")
fun add(a: Int, b: Int): Int {
return a + b
}
  • a: Int :1つ目の引数
  • b: Int :2つ目の引数
  • ): Int :戻り値の型
  • return a + b :計算結果を返す

呼び出し例

val result = add(3, 5)

if文は条件によって処理を分岐させる構文です。

if (条件式) {
条件がtrueのときの処理
} else {
条件がfalseのときの処理
}

val age = 20
if (age >= 18) {
println("成人")
} else {
println("未成年")
}
  • age >= 18 が条件式
  • trueなら上を実行
  • falseならelseを実行

when文は複数条件を分岐させる構文です。

when (値) {
条件1 -> 処理1
条件2 -> 処理2
else -> それ以外の処理
}

val num = 2
when (num) {
1 -> println("1")
2 -> println("2")
else -> println("その他")
}
  • when (num) :numを基準に比較
  • 1 -> :numが1の場合
  • else -> :どれにも当てはまらない場合

コメントはプログラムの動作に影響しない説明文です。

// これはコメント
val age = 20 // 年齢
/*
複数行のコメント
説明をまとめて記述できる
*/
  • コードの意味を説明する
  • 将来の自分や他人に意図を伝える
  • 一時的に処理を無効化する

for文は繰り返し処理を行う構文です。

for (i in 1..5) {
println(i)
}
  • i :繰り返し用の変数
  • 1..5 :1から5まで
val list = listOf("A", "B", "C")
for (item in list) {
println(item)
}
  • item に順番に値が入る

while文は条件がtrueの間繰り返す構文です。

while (条件式) {
繰り返し処理
}

var count = 0
while (count < 3) {
println(count)
count++
}
  • count < 3 がtrueの間繰り返す
  • count++ で値を増やす
Jetpack Composeとは?

Jetpack ComposeはAndroidのUIを作成するための新しい仕組みです。

従来はXMLで画面を作成していました。 ComposeではKotlinコードでUIを記述します。

  • 宣言的UI設計
  • 少ないコード量
  • 状態管理が分かりやすい

状態が変化すると、UIが自動的に再描画されます。

現代的なUI開発の考え方に基づいたフレームワークです。

次のセクションでは、Android Studioの基本操作について学びます。

最後まで読み終えました! えらい!