最近、またMIT App Inventor2を触ってます。
以前からの懸念事項だったMIT App Inventor2のプロジェクトのマージについて
やり方をまとめたものをメモ代わりに書いておきます。
MIT App Inventor2(以下ai2)は、基本機能ではプロジェクトのマージはできません。
別のスクリーン(画面)へのブロックのコピーもできません。
別々に作った画面をひとつにする作業がたいへん面倒なのです。
以前は、aiaファイルを解凍してコピーして
中のjsonやxml形式のtextをいろいろいじって云々という
大変面倒で危うい手動マージをしてました。
しかし、いつのまにかマージツール(公式?)ができていました。
(以前、古いApp Inventorに対応したマージツールは有志の方が作られていたけど
ai2には対応していなかった)
http://appinventor.mit.edu/explore/resources/ai2-project-merger.html
「Download the AI2 Project Merger」
からマージツール(AI2MergerApp.jar)をDL。
マージツールの使い方(英語)
https://docs.google.com/document/d/1F3XtEcNKOk6O8cKnfG16gCh0Yk9qu_r6r4C1aSnS9-g/pub
☆重要
第二のプロジェクトのScreen1はマージできない。
同じ名前の2つのスクリーンもマージすることはできない。
マージツールの使い方(英語)にかかれています。
なので、以下の使用方法が提案されています。
マージツールではScreen1をマージできない。
なのでScreen1はダミーの画面にしておく。
Screen1はダミーの画面にはボタンを置き、
他のスクリーンへを開く(遷移)処理をいれておく。
また、Screen2以降のスクリーン名は各自ユニークな名前にすること。
Screen1はダミーで遷移用のボタンを用意
Screen1のブロック、画面遷移処理
Screen2はユニークな名前にしておく
例を交えて整理すると、以下のような形で
ai2で複数名での開発がスムースに行えるかなと思います。
---[例]---
・main project
Screen1 : アプリのスタート画面となる
・sub project1
Screen1 : ダミー画面。ShunScreen2を開く処理だけ書く
ShunScreen2 : ここから本格的に処理を書く
ShunScreen3 :
ShunScreen4 :
・sub project2
Screen1 : ダミー画面。PaisenScreen2を開く処理だけ書く
PaisenScreen2 : ここから本格的に処理を書く
PaisenScreen3 :
PaisenScreen4 :
・sub project3
Screen1 : ダミー画面。KenScreen2を開く処理だけ書く
KenScreen2 : ここから本格的に処理を書く
KenScreen3 :
KenScreen4 :
マージする際は、ツールを使い2つずつマージしていく。
[main project] + [sub project1] → [main project merge1]
[main project merge1] + [sub project2] → [main project merge2]
[main project merge2] + [sub project3] → [main project merge3]
main project merge3でスクリーンそれぞれの遷移を調整する。
☆ポイント
スタート画面になるmain projectのScreen1は
開発初めの時点では決まっていない場合が多い。変更もありえる。
なので、main projectの作成は後で作成する形にするとよい。
皆、Screen1をダミーにしたsub projectの形で作成を始める。
あとで、1つのsub projectのScreen1をダミーからスタート画面に変更して
main projectとして使用すればよい。
0 件のコメント:
コメントを投稿