モバイルアプリケーションでは、Image コンポーネントのワークフローは、Web アプリケーションのワークフローとは少し異なっています。この記事では、モバイルアプリケーションでの Imageコンポーネントの使い方について詳しく説明します。繰り返しの要素、例えば ListGridコンポーネントのような繰り返し要素では、データモデルから Imageをデータモデルから読み込むことは一義的には不可能であり、BPを用いた読み込みのための一定の手順が必要となります。

Image 繰り返し要素におけるコンポーネントの使用 ( )List/Grid

例えば、flightsテーブルがあり、各フライトオブジェクトは、以下のフィールドで表される独自のカバーを持っています。 ImageFileフィールド [file].

0_dataModel

フライトのリストが Listコンポーネントで表現されているとします。の各要素は Listコンポーネント - は Cardを含むコンポーネントです。 Imageと、関連するフライト情報を表示するための他のいくつかのコンポーネントを含むコンポーネントです。UIデザイナーでは、次のようになります。

uiux

まず最初に Data Sourceは、親コンポーネント (Listコンポーネント)に指定する必要があります。

01_select_from_model

データベースからコンポーネントにデータをアップロードするために Imageコンポーネントにデータをアップロードするために、そのコンポーネントに対して新しいビジネスプロセスを作成する必要があります。 Imageコンポーネントに新しいビジネスプロセスを作成する必要があります。

02_openBP

必要な BP は、アプリケーションの画像要素、すなわち onCreateトリガーです。まず最初に、与えられた画像に対応するデータモデルのオブジェクトを受け取る必要があります。そのためには、親要素がすでに受け取っているデータ(Listが受け取っているデータを利用します。)からデータを取得するには Listからデータを受け取るには List Get Dataブロックが使用されます。

03_bp_1

今回構築するBPのロジックは、以下の通りです:もし、いずれかの Data配列要素(flightモデルオブジェクト) のひとつに識別子 (ID)と等しい場合 Record IDと等しい場合、必要なフライトテーブルの要素を見つけたことになります。そして、フライトモデルオブジェクトから画像ファイル IDがフライトモデルオブジェクトから取り出され、Image コンポーネントに読み込まれます。 Widget ID.

の全要素を反復処理するために Data配列のすべての要素に対して反復処理を行うために For each loopBPブロックが使用され、ループの本体で、配列の各要素が Dataを使用して配列の各要素を展開します. Expand Flightブロックを用いて展開します.もし Flight ID= Record IDの場合は ImageFileの場合,ファイル識別子が取られ,そのファイルオブジェクトがブロックを使ってロードされます。 Server request GET /_files/:id/download/ブロックを用いて読み込む。対応するBPの例を以下に示す。

03_bp_2

次のステップでは,画像ファイルの展開が Expand fileブロックの入力としてバイト配列が渡されます. Image Update Propertiesブロックの Dataプロパティに渡す。また,シート内の特定の画像要素の Widget IDを指定し、BP の冒頭の onCreate ブロックの値を渡します。BPの最後の部分の結果は、以下の例のようになります。

03_bp_3

最後に Break Loopブロックは、配列の残りの要素に対して無駄な反復処理を行わないようにするために使用されます。

break loop

ユーザーのスマートフォンのファイルシステムから画像を読み込む

ユーザープロファイルのアバターを読み込む例を考えてみましょう。Webインターフェースは、画像とBPを起動するボタンで構成され、以下のようなイメージです。

11_ui

そして,該当するBPでは,ユーザがデバイスからファイルを選択するために Select Filesブロックを使ってファイルを選択させます。そして,ファイルの選択に成功すれば,その要素に index = 0が取得されます。対応するBPは次のようになります。

12_bp_1

得られたファイル要素である Files配列の結果であるファイル要素は、さらに使用するためにウェブアプリケーションサーバにアップロードされなければなりません(Server request POST /_files/).リクエストに成功した場合、ブロックの出力にあるファイルオブジェクトは Server request POST /_files/ブロックの出力にあるファイルオブジェクトは Expand fileブロックの入力に渡され Bytes Arrayを取得し、それがブロックの入力に渡されます。 Image Update Propertiesブロックの Dataプロパティに渡されます。

13_bp_2

Was this article helpful?

AppMaster.io 101 クラッシュコース

10 モジュール
2 週

何から始めればいいのかわからない?初心者のためのクラッシュコースで、AppMasterを隅から隅まで見ていきましょう。

コース開始
Development it’s so easy with AppMaster!

もっと助けが必要ですか?

私たちの専門家の助けを借りて問題を解決します。時間を節約し、アプリケーションの構築に集中してください。

headphones

サポート問い合わせ先

問題について教えてください。解決策を見つけます。

message

コミュニティチャット

チャットで他のユーザーと質問について話し合います。

コミュニティに参加する