AppSheetMemo

AppSheetを使ったスマホアプリ開発メモ。画像メインなのでPC閲覧推奨。

ビューの整理

調子に乗ってグラフを追加していたら流石に見栄え悪くなりました。整理します。

f:id:tanaka0:20210923171509p:plain

 

各ビューで表示する位置を指定します。Menuにすると画面左上の「≡」を選択すると出てくるメニューにまとめられます。Refにすると基本非表示ですが、呼び出しがあれば表示します。

f:id:tanaka0:20210923172016p:plain

 

グラフを全部メニューに移動してみました。

f:id:tanaka0:20210923172457p:plain

 

Menu ViewのRearrangeを選択するとメニューの順番を変更できます。各ビューのクリリンを上下にドラッグして下さい。

f:id:tanaka0:20210923172618p:plain

 

更にダッシュボードにまとめてスッキリ。

f:id:tanaka0:20210923173345p:plain

 

以上。

Chartビュー(折れ線グラフ)

折れ線グラフはこんな感じ。体温グラフです。

f:id:tanaka0:20210923120813p:plain     f:id:tanaka0:20210923120822p:plain

 

テストのためにランダムな数値を使用しています。ファイルを開く度に数字が変わりますので、本番環境では値を上書きするなり気をつけましょう。

f:id:tanaka0:20210923122806p:plain

 


 

■ つくる

f:id:tanaka0:20210923124432p:plain

 

グラフの種類を選択して使うカラムを追加して凡例の有無と並びを決めたら完成。

f:id:tanaka0:20210923124440p:plain

 


 

■ 入力範囲や入力フォームについて

スプレッドシートに体温を羅列したところ、Decimal形式が自動選択されました。デフォルトでは小数点以下第2位まで表示するようです。ここでは鈴木カラムだけ小数点以下第1位までに変えてみました。

f:id:tanaka0:20210923125151p:plain

 

体温管理ということで、最小32最大42、最小ステップ0.1、小数点以下第1位までにしました。Numeric digitsは整数部の桁です。とりあえず2を設定。全員分のカラムを設定します。とてもアプリっぽい。

f:id:tanaka0:20210923125215p:plain

 

Display modeを変えるとこんな感じ。鈴木Label、佐藤Standerd、田中Rangeです。

f:id:tanaka0:20210923125234p:plain

 

ダッシュボードでタブレット向け表示にまとめるとこんな感じ。とてもアプリぽい。

f:id:tanaka0:20210923170807p:plain

 

以上。

Chartビュー(棒グラフと円グラフ)

棒グラフ。histogramとrow seriesはこんな感じ。

f:id:tanaka0:20210922165959p:plain     f:id:tanaka0:20210922165946p:plain

 

円グラフはpie chartかdountを選ぶ。

f:id:tanaka0:20210922170013p:plain     f:id:tanaka0:20210922170021p:plain

 

こんな感じのデータでこれらのグラフが出来ました。合計は自動算出される模様。

f:id:tanaka0:20210922163551p:plain

 

棒を選択するとグループの中身もグラフ表示ということが可能!図では斉藤を選択して斉藤の各テストの点数グラフを表示。国語を選択するとデータ元が表示される。グラフは全部大体こんな感じの動作です。グラフは直感的にデータが見えるので良い!

f:id:tanaka0:20210922170813p:plain  f:id:tanaka0:20210922170824p:plain  f:id:tanaka0:20210922170831p:plain

 

凡例を選択すると表示するグラフを絞れる!円グラフでもできるけど、用途に合わせて実施しましょう。

f:id:tanaka0:20210922172816p:plain     f:id:tanaka0:20210922172823p:plain

 

■ つくる

f:id:tanaka0:20210922174121p:plain

 

View typeでグラフタイプと表示するデータのグループを選択。色はお好み。Show legendは凡例で、個人的に表示推奨。Trend lineは勉強中。出ない・・・

f:id:tanaka0:20210922174134p:plain

 

円グラフの設定項目も棒グラフと大体同じ。Lable typeでNone、Key、Value、Percentを選ぶくらいです。この場合Keyは鈴木や佐藤、Valueは合計点数、Percentで割合表示です。

f:id:tanaka0:20210922180126p:plain

 

ダッシュボードにまとめてタブレット向け表示するとこんな感じ。とてもアプリぽい。

f:id:tanaka0:20210923170028p:plain

 

ダッシュボードのインタラクティブモードはグラフのようなグラフィカル表示と連動しない模様。また、各グラフで棒や円の一部を選択するとダッシュボード内ではなく全画面で選択ビューの処理が行われる模様。

 

以上。

Dashboardビュー

Dashboardビューは複数のビューをひとつの画面にまとめて表示できるビューです。GalleryView、TableView、DeckView、CardViewを用意してみました。

f:id:tanaka0:20210920174757p:plain

 

Dashboardビューを作成すると空のビューができました。Addを押して追加していきます。

f:id:tanaka0:20210920174810p:plain

 

複数のビューが縦に並んで表示されました!順番はドラッグで変えられます。ビューの表示サイズを4種類(Large、Wide、Tall、Small)から選べますが、スマホとかモバイル向け表示の場合は意味がない模様。ビューは何個でも、同じものを何度も追加できる模様ですが見づらくなるのを覚悟。

f:id:tanaka0:20210920174820p:plain

 

タブレット向け表示?にするとサイズが反映される模様。Largeは大きく表示、Wideは横長、Tallは縦長、Smallは小さく表示だと思います。組み合わせ方にセンスが問われます。画面右上のヤツを押すと、別タブが開いて大画面で確認できます。タブレット画面?だとユーザが勝手に各画面のサイズを広げたり狭めたりできる模様。

f:id:tanaka0:20210920174828p:plain

 

Use tabs in mobile viewをONにするとタブ表示にできます。画面下の各ビュー選択部が意味なくなっちゃうので、併用するのであれば各ビューをMenuあたりに隠してしまいましょう。

f:id:tanaka0:20210920174839p:plain

 

Interactive modeをONにすると、ひとつのビューで選択したデータが各ビューで一気に選択状態になります。この状態ではデータ選択時にDetail画面に遷移しなくなりますが、アクションは機能します。どこかにForm表示用やDeleteのActionを用意しておくとよいかと。モバイル向け画面でも同じ動作です。

f:id:tanaka0:20210920180725p:plain

 

以上。

Cardビュー

CardViewは見せ方が色々できますが大まかなレイアウトは決まってまして、レイアウト上の画像と文字の順番は変えることはできません。制約の中、デザインセンスが問われます。

f:id:tanaka0:20210920111804p:plain     f:id:tanaka0:20210920113819p:plain

f:id:tanaka0:20210920113830p:plain     f:id:tanaka0:20210920113840p:plain

 

View typeでcardを選択。

f:id:tanaka0:20210920111816p:plain


View OptionのLayoutをいじる。CardViewで操作する画面はここだけ!

f:id:tanaka0:20210920112324p:plain

 

Layoutは4種類!操作方法は全部同じなのでlargeで説明。

中央に画面レイアウトがあります。選択した部分に対して何を設定するか、右側に出てきます。ここでは赤枠の画像を選択しました。右に出てきたColumn to showのドロップダウンリストから画像カラムの設定、Image Fitで画像の表示方法を3種類(cover、contain、fill)から選べます。横か縦に合わせる、このサイズに合わせる、よくあるやつです。ColumnでNoneを選ぶと非表示になり、上に詰められます。

f:id:tanaka0:20210920150702p:plain

 

この部分はImage Shapeでマル抜き表示?か四角表示?が選べます。

f:id:tanaka0:20210920153852p:plain

 

文字表示設定箇所。太字薄字サイズは選べません。カラムをそれぞれに設定するだけ。

f:id:tanaka0:20210920155527p:plain

 

アクション設定。ハートアイコン部分にDeleteを選ぶとゴミ箱アイコンになりました。

f:id:tanaka0:20210920160925p:plain

 

以上。

画像とDeckビューとREF_ROWS

こんな感じのがDeckビュー。

f:id:tanaka0:20210919095902p:plain     f:id:tanaka0:20210919103557p:plain

 

データシートはこんな感じ。ファイルはテーブル名+_Images/キー.image.連番のようにかぶらない名前を勝手に付けてくれる模様。保存フォルダもグーグルドライブ内に勝手に作ってくれました。

f:id:tanaka0:20210919100605p:plain

 

Image、Thumbnailで画像アップロードできる模様。画像の大小表示しか違いが分からん。Fileでも画像アップロードできるが中身は表示されない。さすがに自動判別はされない模様。Videoを選ぶと編集画面に表示されなかったのでアップロードはできないのか?試してないけどFileでアップロードしておいてVideoカラムにブチ込めばイケる気がする。

f:id:tanaka0:20210919104258p:plain

 

Signtureにするとサインが保存できた。店で電子サインするアレと同じ!PNG形式。鍵マークを選択するとサインが書ける。

f:id:tanaka0:20210919111845p:plain

アップロードしたファイルは全て保存場所に残っています。整理するためにも削除する仕組みを考えねばなりませんが、ここでは考えてません。

 


 

■ つくる。

f:id:tanaka0:20210919113942p:plain

 

表示する画像、表示する文字3か所を設定。画像の表示方法、表示するActionの設定をそれぞれ設定。Sort by、Group by、Group aggregateはご自由に。Nested table columnに関しては後述。

f:id:tanaka0:20210919121247p:plain


完成。

 


 

■ Nested table columnでリスト表示

使い方間違っているかもしれません。こんな感じでリスト表示が出来ました。

f:id:tanaka0:20210919101043p:plain

 

メインのデータに紐付けして、追加の画像データを無制限に登録してみたい。

f:id:tanaka0:20210919100614p:plain

 

こんな感じ。

f:id:tanaka0:20210919133320p:plain

 

まず赤丸部分のバーチャルカラムを作ります。後でListCount部分も作りますが、この順番じゃないとまずい模様。また作り直すことを覚悟しましょう。

f:id:tanaka0:20210919135057p:plain

 

赤丸部分を入力していきます。数式を間違えなければ他は自動入力されます。
=REF_ROWS("filelist", "data_id")

Show部分は後程やります。

f:id:tanaka0:20210919135250p:plain

 

追加したバーチャルカラムを設定します。

f:id:tanaka0:20210919142134p:plain

 

こんな感じになります。しかし追加画像データの無いデータに無駄な空白が!追加画像データがなくてもリスト表示の場所が確保されてしまう模様。

f:id:tanaka0:20210919143316p:plain     f:id:tanaka0:20210919142900p:plain

 

追加画像の無いデータはバーチャルカラムを表示しないようにします。上記で飛ばしていたところまで戻って、データの行を数えるだけのバーチャルカラムを作ります。数式はREF_ROWSで使ったヤツを流用します。実績重視。関数SELECTでもいけると思う。

=COUNT(REF_ROWS("filelist", "data_id"))

f:id:tanaka0:20210919143930p:plain

 

バーチャルカラム追加画像のShow表示条件に数式を追加します。

=if([ListCount]>0,true,true)

f:id:tanaka0:20210919144517p:plain

 

隙間なく表示されるようになりました。

f:id:tanaka0:20210919101043p:plain

 


 

■ 運用を考える

REF_ROWSで追加したリストはViewとAddがついてきました!UX作ってないのに!

f:id:tanaka0:20210919150605p:plain     f:id:tanaka0:20210919150631p:plain

f:id:tanaka0:20210919150758p:plain

 

実は1件目の追加画像データを入れることを考えてませんでした。良い方法が思いつかなかったので、無理矢理Actionで実装します。

dataテーブルとfilelistテーブルの紐付け用データを追加するアクションです。

f:id:tanaka0:20210919152751p:plain

 

少しスクロールしてアクションの表示条件を設定。追加画像データが0の時だけ表示。

=if(count(REF_ROWS("filelist", "data_id"))=0,true,false)

f:id:tanaka0:20210919153125p:plain

 

上記のアクションを実行すると空のデータが追加されました!しかし画像は空です。これを編集してデータを追加していくことになりますが・・・

f:id:tanaka0:20210919155451p:plain

説明画像が必要かもしれません。ImageカラムのINITIAL VALUEに「画像をアップロードして下さい」とか、Signtureカラムであれば「山田太郎」とか、文字だけの画像を作成して用意しておくと質問の発生しにくいアプリになると思います。

(そうすると、このINITIAL VALUEのデータのままであるデータをどこかで一括削除する処理が後程必要になって・・・作業が終わらない!!なんか良い方法を思いついたら後でまとめます。)

 

以上。