LoginSignup
0
0

FlutterFlowを使用したスマホアプリでの画像一覧から詳細画面への遷移方法【Subcollectionのリストを使って】

Last updated at Posted at 2024-04-20

FlutterFlowを用いた画像一覧から詳細画面への遷移の実装方法

本記事では、FlutterFlowを使用してスマホアプリ内で画像一覧から特定の画像をタップした際に詳細画面を表示する機能の実装方法について説明します。特に、FirebaseのSubcollectionを利用せずにデータを扱う方法に焦点を当てています。この情報は、インターネット上ではあまり見かけないため、ここに詳しくまとめました。

概要

ユーザーがアプリ内の画像一覧から画像を選択すると、その画像に関連する詳細情報が表示される機能について解説します。データベースからSubcollectionのリスト形式でデータを取り込み、選択された画像に応じて詳細画面に遷移します。

FlutterFlowの使用経験は1ヶ月程度ですので、誤りがある場合は指摘をお願いします。

実例

アプリケーションの事例

本アプリケーションでは、聖地巡礼の作品が一覧で表示されており、ユーザーが作品を選択すると、その作品の関連する場所が複数表示されます。以下は、その動作を示すGIFです。

Videotogif.gif

データベース構造

データベースは次のような構造をイメージしています。

  • 作品のメイン写真
    • 各作品の場所とその場所の写真
    • 各作品の場所とその場所の写真

実装方法

記事の本文では、具体的な実装手順やコードスニペットを提供し、読者がこの機能を自分のプロジェクトに組み込めるようにします。

Pageを追加します。

適当なものを選びます。今回はList13を選びました。

image.png

扱いにくいので編集します。
List View以下をコピーします。

image.png

Tabを消してListViewをペーストします。

image.png

image.png

image.png

Locationページを追加しました。
GoogleMapを追加しています。

image.png

データベース作成

productionテーブルを作成します。

image.png

同様にlocationテーブルを作成します。

image.png

FlutterFlowはこうやって半自動でデータベースをつくれるのがいいですね。
課金するとAIを使ってデータベースを作成できます。

image.png

Location

image.png

Production

image.png

仮のデータを入れます。

manage Contentを押します。
仮のデータを入れていきましょう。
もし、「Could not create an account as firebase@flutterflow.io to your Firebase project. Make sure "Email Sign-In" is turned on for your Firebase project, and try again.」エラーが出た場合はこちらの記事をご覧下さい。

image.png

image.png

production で作ったカラムのidをコピーしておきましょう。

image.png

次はLocationの仮のデータを入れましょう。

image.png

先程のコピーしたidをownerにペーストしましょう。

image.png

次はLocationのidをProductionにペーストします。

image.png

遷移先での設定その①

遷移先でPage Parametersを押します。
(右上のプラスボタンです。)

image.png

Add Parameter」ボタンを押します。

image.png

以下の写真のように設定します。
(それぞれ名前「適当」、Typeは「RecordReference」、Collection Typeは「Location」選択します。)

image.png

そのまま、ページ全体にAdd Queryを追加します。

image.png

遷移先での設定その②

以下の写真のように設定してください。

image.png

遷移元での設定その①

遷移元に移動しList Viewを選択します。

image.png

List ViewAdd Queryします。
(設定は先程とほぼ同じです。)

image.png
以下のような確認画面が出ると思いますが、ConfirmでOKです。

image.png

遷移元での設定その②

画面遷移の設定をします。
List Viewで繰り返し表示するContalnerを選択して

image.png

Actionsタブを押します。

image.png

Add Actionを押し
以下のようにNavigate To を押し画面遷移先の「Location」を押して設定してください。

image.png

次はPassを設定します。
Passを押してください。

image.png

すると以下のようになると思います。

image.png

次はValueを設定します。
Valueを押し、Production Documentをおし、locations (List )で設定します。

image.png

すると以下のようになるので

image.png

List index OptionsをSpecific Indexを押します。

image.png

次に「また」Valueを押します

image.png

Production DocumentのIndex In Listを押します。

image.png

以下のようになりましたか?

image.png

遷移先での設定その③

遷移先に戻りましてGoogle Mapの設定をします。
Google Mapを選択して
image.png

Num Markers をMultipleにMarker TypeをDocumentに設定します。

image.png

Marker Documentsを設定します。
「Page Parameters」ではなく「locarion Documents」の「Documents(List)」に設定

image.png

以下の写真のようになります。

image.png

テスト

クリックすると

image.png

「あれ?」
ってそうかInitial Location (lat, lng)をデフォルトだとブリッジタウンになります。

image.png

岐阜に移動するとちゃんと2つ設定されていますね!

image.png

今回はここまでです。最後までご覧いただきましてありがとうございます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0