App Inventorでのデータの保存

  • モバイルアプリから、端末に保存されているデータにアクセスする方法を学びます
  • アプリのユーザ間でデータを共有するため、クラウドにデータを保存してアクセスするさまざまな方法について学びます

データの長期保存

前回のユニットでは、変数やリストを使ってアプリに情報を保存する方法を学びました。 

ただアプリを閉じると、アプリのメモリに保存されていた変数の値はすべて消えてしまいます。 

しかし、アプリの実行と実行の間に情報を記録しておきたい場合があるでしょう。 長期ストレージには以下の2つがあります:

ローカルストレージ

アプリを実行するたびに取得される情報をモバイル端末に保存します。

例えば、ユーザーアドレスやゲームのハイスコアなどがあります。

クラウドストレージ

ウェブ(クラウド)上に情報を保存し、すべてのアプリユーザーがその情報にアクセスできるようにします。

例えば、ゲームのリーダーボードやチャットメッセージなどがあります。

ローカルストレージ

ユーザーがアプリを閉じると、すべての変数変数の値はデバイスのメモリから消去されます。

実行の合間にアプリのデータを保存したい場合は TinyDB コンポーネント

TinyDBは、共有する必要のないユーザーの個人情報を保存するために使用できる。

例えば、ユーザーはアプリを使うたびに名前、年齢、住所を入力するのではなく、一度だけ入力したい。 もう一つの例は、健康習慣のようなものを長期にわたって追跡することだ。 

TinyDBはTiny Databaseの略。A データベースとは、組織化されたデータの集まりである。プログラマーであるあなたが、どのように整理するかを決めるのです。

TinyDBは、DesignerのStorageドロワーにあります。 

TinyDBは目に見えないコンポーネントなので、プロジェクトに追加しても画面に表示されることはありません。

TinyDBのデータにアクセスするには、各データ項目に タグを与えます。変数の値を設定したり取得したりするのと同じように、タグの値を保存したり取得したりします。これを タグと値のペア.

StoreValue ブロック

TinyDB.StoreValueは、TinyDB に新しい値を格納します。格納するタグと値を指定する必要があります。

TinyDB.GetValueブロック

TinyDB.GetValue は現在の値を取得します。

valueIfTagNotThereは、そのタグが以前に何も格納されていなかった場合に必要となる。

クラウドストレージ

クラウドストレージを使えば、アプリのユーザーなら誰でもデータにアクセスして共有できる。

TinyDB
3台の電話が1つのデータベースを指す
クラウドストレージ

App Inventorには、3つの有効なクラウド・ストレージ・オプションがある。

ベストプラクティス 常にデータのバックアップをどこかに保存しておくこと!データを削除したり、誤って変更してしまうことはとても簡単です!

App InventorではTag-Valueペアという用語を学びますが、これは実際のコーディングでもよく使われます!これで、専門家が使う用語がわかっただろう!

生徒への質問 クラウドデータはどこに保存されていると思いますか?google、youtube、tiktokなどのウェブサイトにアップロードしますが、その後どこに保存されますか?クラウドはどこにありますか?グーグルのような企業は、クラウドにデータを保存するためだけに、巨大なビルにコンピュータを設置しています。だから冗談はこうだ:「クラウドに保存されているのではなく、他の誰かのコンピューターに保存されているだけなのだ。アマゾンのデータストレージ

メンターTipsは、AmeriCorpsから提供されたものです。

様式化されたA、ネイビーでAmeriCorpsのロゴ

アクティビティ:試合のスコアを保存する

所要時間:60分

ハイスコアを保存するクイッククイズゲームを更新する

  1. App Inventor ギャラリーでスタータープロジェクトを開きます。
    ビデオのリンクが間違っています!スタータープロジェクトのリンクは https://bit.ly/appinventor-quick-quizです。
  2. それをApp Inventorにロードして、自分のコピーを編集できるようにする。
  3. 以下のビデオに従って、Googleシートをアプリにリンクし、選手のハイスコアを保存・更新してください。
スターター・プロジェクトを開く

チャレンジ

Quick Quizゲームで個人のハイスコアの読みとり、書き込みと更新をコーディングしました。では以下のチャレンジはできますか?

  1. 全プレイヤーのハイスコアを読み、全プレイヤーの最高得点を見つけましょう
  2. その情報をユーザーに報告しましょう
    • Labelを使用する
    • またはAlertメッセージに追加する

振り返り

アプリにデータを保存する場合、このレッスンで学んだ情報が必要になります。プロジェクトのために自分のアプリをコーディングし始めたら、以下の質問を考えてみてください。

すうれつ
アプリのためにどのようなデータを保存する必要がありますか?
そのデータはどこに保存する必要がありますか?
・アプリ内
・ユーザーのモバイル・デバイス内
・ 共有のためにクラウド内
それはアプリに必要なストレージの組み合わせですか?3つのオプションすべてを使用することができます!
前のスライド
次のスライド

主な用語のおさらい

  • データベース- 整理された情報のコレクション
  • クラウドストレージ- インターネットに接続されたあらゆるデバイスがアクセスできるように、ウェブ上に保存された情報。
  • タグと値のペア- データベースに情報を保存してアクセスする方法

追加リソース

App Inventorでクラウド・ストレージを検討するための資料とチュートリアルはこちらです。