タブレット用プログラムの書き止め

android OS & iPadOS の記録。

コトリンでの開発予定

2024-02-06 14:23:36 | Android studio 日記

画像ビュワー作成でコトリンの習得をしてみる。

とりあえず、大まかな構造から。

1,アプリスタート。
  mainActivity
    初期設定。

    ボタン、「スタート」「ヒント」
    スタート>mainFragmentへ移行。
    ヒント>tipsFragmentへ移行>mainActivityに戻る。

2,mainFragmentスタート。
  初期設定内容から対象ディレクトリ、対象画像ファイルのフルパス取得。
  対象が無い場合はPictureフォルダを対象にする。

    フォルダアイテムを取得して配列を作成。画像ファイル名のリスト順も並び替える。
    リストから画像ファイルパスを取得。一枚分、二枚分。

    画像ファイルの表示が主機能。
    タップ、ダブルタップ、スワイプ、ロングプレス。
    スクリーンの任意の位置のタップ。

    ポートレートモード(縦長)は一枚表示。
    ランドスケープモード(横長)は二枚表示。
    画面回転が有効で表示枚数の切り替えをさせる。
    画像がランドスケープタイプなら一枚表示。

    directoryFragment(ディレクトリ移動用)移行。>mainFragmentに戻る。
    thumbnailFragment(サムネイル表示用)移行。>mainFragmentに戻る。


3,directoryFragment
  フォルダアイテムを取得してディレクトリ名の配列を作成。
  RecyclerView作成。

4,thumbnailFragment
  フォルダアイテムを取得して配列を作成。もしくは、mainFragmentの配列を利用。
  RecyclerView作成。

    キャッシュディレクトリにサムネイルを非同期作成。ListViewにサムネイルをセット。
    thumbnailFragment終了の時、キャッシュディレクトリのサムネイルを非同期削除。

 

viewModelに保存するデータ。
  現在のフラグメントの場所。
  対象画像ファイルパス。
  対象ディレクトリパス。
  フォルダアイテム配列。
  スクリーンモード。縦長、横長。(一枚表示、二枚表示の判別用)
  デバイスのサイズ。width、height。
  LiveDataで外部保存が必要なデータの変更時に初期設定ファイルへ書き込み。
  
  
  mainActivityにviewModelを設置して、プログレスサークルの非同期用フラグを設定。
  フラグが変更されたら非同期でプログレスサークルを表示、非表示できる?

  SharedViewModelでmainActivityのviewModelを各Fragmentで利用できるみたいなので調査。

 


画像表示本体部分は作らず、フラグメントの移動を確認する骨組みから。
デバイスの回転で挙動がどうなるのかを調査する。


考えてるとどんどん増えてしまう。
大枠部分を作って思い通りなら次を考えよう。