Android画面設計書テンプレート.md

# Androidアプリ画面設計書

## 1. 基本情報

- 画面ID:
- 画面名:
- 機能概要:
- 対応OSバージョン:
- 対応端末:

## 2. 画面レイアウト

### 2.1 レイアウト構成

以下の凡例に沿って当該画面の構成をMermaidで作成すること。具体的なファイル名を分析した依存関係を元にファイル名ごとにオブジェクトを作成すること。

```mermaid
%%{init: {'theme': 'neutral', 'themeVariables': { 'fontFamily': 'arial', 'fontSize': '16px'}}}%%
flowchart TD
    A["画面/ページ"] 
    B>"コンポーネント"]
    C{"条件分岐"}
    D[["フォーム要素"]]
    E[("データ表示")]
    F(["アクション/ボタン"])

    classDef page fill:#d0d1ff,stroke:#333,stroke-width:2px,color:#000
    classDef component fill:#ffe680,stroke:#333,stroke-width:2px,color:#000
    classDef condition fill:#c2e0c2,stroke:#333,stroke-width:2px,color:#000
    classDef form fill:#ffcce0,stroke:#333,stroke-width:2px,color:#000
    classDef data fill:#c6c6ff,stroke:#333,stroke-width:2px,color:#000
    classDef action fill:#ffb3b3,stroke:#333,stroke-width:2px,color:#000

    class A page
    class B component
    class C condition
    class D form
    class E data
    class F action

    %% スタイルを各ノードに適用して文字を中央寄せにします
    style A text-align:center
    style B text-align:center
    style C text-align:center
    style D text-align:center
    style E text-align:center
    style F text-align:center
線種 表記 意味
--> 実線矢印 画面遷移、親子関係、直接的な関係
-.-> 点線矢印 イベント発火、アクション実行
--- テキスト --- ラベル付き線 関係性の説明(遷移、含む、表示など)
--o 白丸終端 関連付け(弱い結合)
--\* 黒丸終端 集約関係(強い結合)

2.2 画面方向

2.3 レイアウトリソース

2.4 デバイス対応

3. UI構成要素

3.1 コンポーネント一覧

No コンポーネントID 種類 表示テキスト 表示条件 レイアウト位置

3.2 入力項目定義

No 項目ID 表示名 入力種類 入力制限 最大長 必須 初期値 IMEタイプ

3.3 入力検証ルール

3.3.1 テキスト入力

3.3.2 数値入力

3.3.3 選択入力

3.4 リスト表示定義

3.4.1 リスト構成

3.4.2 リストアイテム

3.5 アニメーション・トランジション

4. アクション定義

4.1 ユーザーアクション一覧

アクションID トリガー 対象コンポーネント 表示条件 有効条件

4.2 クリックアクション定義

4.2.1 ボタン1

4.3 タッチアクション定義

4.3.1 スワイプ

4.3.2 長押し

4.4 システムアクション定義

4.4.1 バックキー

4.4.2 メニューキー

5. データバインディング

5.1 データモデル

5.2 バインディング方式

5.3 LiveData定義

6. 通信・データ連携

6.1 API連携

  [ヘッダ情報]

  [パラメータ形式]

  [リクエスト形式]

6.2 レスポンス仕様

  [レスポンス形式]

  [エラーレスポンス形式]

6.3 ローカルデータ

7. エラー・メッセージ定義

7.1 検証エラー

コード メッセージ 表示方法 表示位置

7.2 システムエラー

コード メッセージ 表示方法 リトライ可否

7.3 通信エラー

シナリオ メッセージ 表示方法 リカバリー方法

7.4 メッセージ表示方式

8. パフォーマンス最適化

8.1 UI描画最適化

8.2 メモリ管理

8.3 バッテリー効率

9. セキュリティ要件

9.1 データセキュリティ

9.2 入力値検証

9.3 アクセス制御

10. アクセシビリティ対応

10.1 コンテンツ記述

10.2 入力補助

10.3 TalkBack対応

11. 画面遷移・状態管理

11.1 遷移元画面

11.2 遷移先画面

11.3 状態保存

11.4 ライフサイクル処理