🚀 ニフティ’s Notion

Androidアプリ開発入門#1

第1章 モバイルアプリ

1.1 モバイルアプリとは
1.1.1 モバイルアプリの 特徴

モバイルデバイスにはPC上で動くデスクトップアプリとは、いくつかの点で異なる特徴を持ちます。基本動作にも影響するので、ざっと確認してみましょう。

モバイルアプリ デスクトップアプリ Webアプリ
デバイスにアプリをインストールして使う、 ネイティブアプリ である デバイスにアプリをインストールして使う、 ネイティブアプリ である ブラウザ上で動く
• デバイス上の様々な機能にアクセスできる
◦ ファイル
◦ ローカルデータベース(SQLite)
◦ インターネット通信
• デバイス上の様々な機能にアクセスできる
◦ ファイル
◦ ローカルデータベース(SQLite)
◦ インターネット通信
・アクセス可能な範囲は限定的
• APIを通してデバイス機能にアクセスできる
• 共通して持っている機能が直接個人情報に結びつく
◦ GPS・WiFi・Bluetooth
◦ カメラ
◦ マイク
◦ 通信機能もある
• 共通して持っている機能は限定的
◦ Webカメラの有無も製品による
◦ 個別に実装が必要な場合も有
アクセス可能な範囲は限定的
解像度 がバラバラ
◦ HVGA(320x480)から4Kまで
◦ 縦横比も3:4、9:16、9:20など
◦ 縦持ちと横持ち
• 解像度はたいてい同じ
◦ FHDかHD
• 解像度がバラバラ
◦ ウィンドウサイズを変えられる
言語 がバラバラ
◦ OSの設定で言語設定が可変
▪ 「◯◯国版」のようにバージョンを分けることは(普通)しない
• 基本的に言語は1つ
◦ 言語ごとにパッケージを分ける事が多い
言語 がバラバラ
スペック が低い
◦ RAM 128MBみたいな端末もありました
◦ 今はPCよりスペックの高い端末もある
• ある程度のスペックがある
◦ サポート外OSを気にしなければ大体同じ
バッテリー が少ない
◦ 基本的にバッテリーで動き、容量も少ない
• バッテリーは基本的に気にしない
◦ 電源に繋いだまま使う
1.2 モバイルアプリの仕様

上記の特徴から、モバイルアプリは以下のように動作します。

  • OSがアプリの動作を管理する
    • 予め許可した パーミッション の範囲でしか動作できない
    • 自動的に リソースを解放 し、RAM(メモリ)を空ける
      • OSが勝手に画面用データを消したり、プロセスごとKillしたりする
    • バックグラウンド動作を制限 する

  • OSが柔軟な レイアウトシステム を持っている
    • 画面サイズの変化に対して柔軟なレイアウト
    • 言語・解像度などに応じた切り替えシステムも持っている