The Movie DBは、全世界の俳優、監督他の映画・TV関係者のID/名前リスト(JSON形式)を提供しているが、リストが膨大な量であるためMIT App Inventorで利用することはできない。(2024年5月15日付けJSON fileだと245MB)
とりあえず、約400人程度のショートリストを作成して、今回はそのリストを使用した。
実行画面:
スクリーンのデザイン:
関係者リストを読み込み、リスト表示する「人のアイコン」を追加。Test Labelは、関係者リストのアイテムをタップした時に取得する、名前とID番号を確認用に表示するもの。
ブロック・コード:
1. アプリにインポート(同梱)したJSON形式の関係者データを読み込む。
2. 読み込んだデータをデコードしたものを格納する変数JSONを設定。
3. 人マークのselectStarButtonをタップした時の動作を設定。
ListView1 (映画データを表示するListView)を非表示。関係者を表示するListView2を内包するVSAForActors (いわゆるcontainer)を表示。
関数makeStarsList及びmakeStarsIDListを実行。ListView2に関数makeStarsListの実行結果(starsList)を表示。
なお、各関係者に関するデータを取得するためにはそれぞれに付されたIDが必要なので、このリストもついでに作成。
4. 変数starsListおよびidListを設定。
5. 関数makeStarsListおよびmakeStarsIDListの実装内容:
それぞれ "name" および "id" とペアーとなっている値をリストに書き出す。今回のショートリストの人数は447人。
6. ListView2よりタップして関係者を選択後、そのタップした映画人の名前およびIDをtestLabelに表示。
<後書き>
なお、実行画面のビデオに出てくる吉永小百合と二木てるみは、後からショートリストに特別に追加したもの。
ちなみに、2024年5月15日付けJSON fileの最初の部分は以下の通り。
Yves Montand, Quentin Tarantinoなどの名前も見える。映画のみならずTV、ビデオ、音楽関係なども含まれているようだ。
チェックしたところ、リストアップされている人数は3,416,019人。(もちろんなのだが)日々増加しているようだ。