[ Siena 目次 ]

Export / Import のサンプル

コレクションの ExportImport を実行するサンプルを試作します。
コレクションのデータを更新しつつ、継続して使用する場合を想定します。


実際の画面を確認

まず、Export から。
とりあえず、名前や性別のデータをコレクションに登録しました。
スクリーン1
真ん中のギャラリーで、Members というコレクションのデータを表示しています。
左上の Export ボタンをタッチ(クリック)します。
スクリーン2
ファイル保存ウィンドウが表示されます。ファイル名ボックスに名前を入力して保存します。ファイルは zip 形式で保存されます。後述しますが、中身は xml データです。
スクリーン3
保存すると、画面は元の画面に戻ります。

続いて、Import です。
上記と同じ画面ですが、ギャラリーは空の状態です。
スクリーン4
ここで、左上の Import ボタンをタッチ(クリック)します。
スクリーン5
ファイル選択ウィンドウが表示されます。上記で保存した zip ファイルを選択して「開く」ボタンをタッチ(クリック)します。
スクリーン6
ギャラリーに、先ほど保存したデータが読み込まれました。


以下に、作成時のポイントを記述します。

[ 目次 ]
  1. 実際の画面を確認
  2. 事前準備
  3. 仕様確認
  4. 仕組みの解説
  5. 追記



事前準備

画像も動画も使用しないので、準備は不要です。



仕様確認

Export ボタンを押すと、コレクション内のデータを出力します。
Import ボタンを押すと、指定したデータをコレクションに読み込みます。



仕組みの解説

ここでは、貼り付けた部品の属性を ExpressView で確認します。
部品を選んで右下の ExpressView ボタンをクリックすれば、画面右に開きます。
以下、画像をクリックすると拡大画面が表示されます。

  1. Export ボタン
  2. 貼り付け要素の中にある Export という部品を使用して、
    Members というコレクションのデータを出力するように設定します。
    Data 属性で、 Members と指定している部分がそれです。
    Export1
    ファイル保存ウィンドウを開く動作は、部品に組み込まれているようです。作り手が指定する必要はありません。

  3. Import ボタン
  4. 貼り付け要素の中にある Import という部品を使用して、
    読み込んだデータを Members というコレクションに設定します。
    OnSelect 属性で、 Clear(Members); Collect(Members, Import1!Data)
    と指定している部分がそれです。
    Import1
    コレクションの中身をクリアしてから、データを入れています。
    ファイル選択ウィンドウを開く動作は、部品に組み込まれているようです。作り手が指定する必要はありません。

  5. xml データ
  6. これは貼り付け要素ではありませんが、参考ということで取り上げます。
    出力される zip 形式のデータの中は、このようになっています。
    xml1
    私は xml に疎いので、中身の話は避けておきます。
    名前と性別が漢字なので、ブラウザで見ると、文字コードが表示されているようです。
    Xml2
    スペースの都合上、2画面分(データの最初と最後)を取り上げました。



追記

Export / Import 機能を利用して、パラパラ漫画リーダーなるものを試作しました。

この機能を試した当初は、 xml データを簡単なデータベースの代替品という位置付けで捉えていました。 ですので、サンプルも上記のように業務システム寄りになり、データを更新しつつ継続利用する発想が自分の中で定着していました。

しかし、全く異なる利用方法を試したくなり、パラパラ漫画リーダーに行き着きました。 アプリと入出力の分離が実現すれば、このようなことも可能なのだと気づいた次第です。

興味のある方は、そちらの方もご覧ください。