Titanium.X

Top KitchenWork TitAnIDE TitaNative Ti SDK Archives

TitAnIDE - create Titanium project for AIDE

@d_o_locker(ろっかぁ)


GUI編集機能チュートリアル

TitAnIDE を使った開発の手順

GUI編集機能チュートリアル1

GUI編集機能チュートリアル2


GUI編集機能チュートリアル1

TitAnIDE の開発は、JS ファイルをテキストエディタで編集するのが原則です。
Titanium SDK Android 版の全ての機能を使うには、直接 JS を編集してください。

一部の機能については、GUI編集機能で簡単に作成することもできます。
GUI編集機能では Titanium SDK の全ての機能を取り扱うことはできません。
β4で実験的に追加した機能であり、不具合が残っていることもあり得ます。
何か問題がある場合は、JS をテキストエディタで編集して開発してください。

メイン画面下方の {GUI Editor} ボタンを押すと、GUI編集画面が開きます。
titanide

gui_start
初期生成される雛形アプリの画面が読み込まれ、プロパティシートが表示されます。

[Flip Sheet] ボタンか [Menu]→[Flip Sheet] でシートの位置が逆側に移動します。
gui_sheet

gui_sheet
以降、ボタンとメニューで呼び出せる機能はボタンを例に説明します。

[Refresh Screen] で画面が再描画されます。
gui_sheet
再描画中はタイトルバーが変更されて処理中であることを示します。
タイトルバー変更中は、操作をしないで処理終了を待ってください。
gui_sheet
変更内容が画面に反映されない場合、[Refresh Screen] を使ってください。
再描画なしで画面に反映される変更も多くあり、又、画面要素が増えると
再描画にかかる時間も増えるため、変更後毎回自動再描画は行っていません。

画面側にフォーカスが当たってキー操作でシートに移動できなくなることがあります。
タッチ非対応端末でこうなった場合、[Menu]→[Refresh Screen] でシートに戻ります。
gui_sheet

gui_sheet


[Load Source] で指定した画面が読み込まれます。
gui_sheet

gui_sheet

gui_sheet
読み込み後に再描画処理されます。
タイトルバー変更中は、操作をしないで処理終了を待ってください。
gui_sheet
JS ファイルを読み込む機能ではありません。
[Save Source] で JS と一緒に保存した XML ファイルを読み込みます。

[View Source] で現在の画面に対応する JS が表示されます。
gui_sheet
ソース生成中はタイトルバーが変更されて処理中であることを示します。
タイトルバー変更中は、操作をしないで処理終了を待ってください。
gui_sheet

gui_sheet

gui_sheet
タッチ対応端末ではスクロールして最後まで表示できます。
タッチ非対応端末では [Save Source] してテキストエディタなどで確認してください。

[Save Source] で現在の画面に対応する JS と XML が保存されます。
gui_sheet

gui_sheet

gui_sheet
初期生成画面を変更前に別名で保存しておくと、いつでも初期状態を読み直せます。
gui_sheet
この場合、保存後、元のファイルを再読み込みしてから以降の手順を続けてください。
別名保存しただけだと以降は別画面への修正となり、説明と一致しなくなります。
初期状態に戻す場合、別画面を読み込み後、初期画面に上書き保存して続行します。

ソース生成処理、ファイル保存処理が行われます。
タイトルバー変更中は、操作をしないで処理終了を待ってください。
gui_sheet

[Start App] でアプリを起動します。ボタンの行は横スクロールできます。
gui_sheet

mytiapp_start
AIDE でビルド、インストールされていればアプリが起動します。
一見、シートが消えただけにも見えますが、
シートのある画面は TitAnIDE アプリ内に開発中アプリの画面を読み込んだ状態、
シートのない画面は開発中アプリそのものが起動した状態です。
リストから最初の項目 WebView を選ぶと、WebView を使った画面が表示されます。
mytiapp_webview

インストールする前に [Start App] ボタンを押すと、エラーが表示されます。
gui_sheet

シートの [self] には現在編集対象に選ばれている画面要素の id が表示されています。
読み込み直後のシートでは、[window : Window] が編集対象に選ばれています。
左の [window] は変数名であり、画面要素の id フィールドでもあります。
右の [Window] はモジュール名です。
gui_sheet

シートの [children] には現在編集中の画面要素の子要素が表示されています。
gui_sheet
子要素を選んでクリックすると、その画面要素が編集対象に選ばれます。
gui_sheet

シートの [parent] には現在編集中の画面要素の親要素が表示されています。
gui_sheet
window は最上位なので親要素の欄がありませんでした。
tableView の親要素は window で、子要素は多数の tableViewRow_? です。
親要素をクリックすると、その画面要素が編集対象に選ばれます。

生成される雛形アプリを修正してみます。
tableView を編集対象に選択し、[self] の行をクリックします。
[fields] の [id] の行をクリックしても同様です。
gui_edit_id
フィールドを編集するダイアログが表示されます。
gui_edit_id
tableViewRow_? は、区別のため、末尾に '_連番' が付いていました。
tableView は1つなので連番なしで生成されていますが、同じ形式に揃えてみましょう。
gui_edit_id
id は変数名としても使われるため、JS の変数名として有効な書式である必要があります。
id フィールドとしては文字列でセットされますが、特別で 'クォート' は必要ありません。
gui_edit_id
[Enter] キーか [Add] ボタンで確定します。
gui_edit_id
シート上の値が変更されます。
id と変数名の変更なので、画面に変化はありません。
[View Source] で変数名の変更を確認してみるとよいでしょう。

画面の背景色を変更してみます。
window を編集対象に選択し、[fields] の [backgroundColor] の行をクリックします。
gui_edit_bgcolor
フィールドを編集するダイアログが表示されます。
gui_edit_bgcolor
RGB の青の成分を減らしてクリーム色にしてみます。
gui_edit_bgcolor
色を指定するプロパティは文字列でセットするので 'クォート' が必要です。
gui_edit_bgcolor
[Enter] キーか [Add] ボタンで確定します。
gui_edit_bgcolor
シート上の値が変更され、画面にも反映されます。
これは [Refresh Screen] の必要がない変更の1つです。

行の title を変更してみます。
tableViewRow_1 を編集対象に選択します。
gui_edit_title
[fields] の [title] の行をクリックします。
gui_edit_title
フィールドを編集するダイアログが表示されます。
gui_edit_title
['WebView'] から ['WebViewDemo'] に変更します。
gui_edit_title
title プロパティは文字列でセットするので 'クォート' が必要です。
gui_edit_title
[Enter] キーか [Add] ボタンで確定します。
gui_edit_title
シート上の値が変更され、画面にも反映されます。
尚、雛形アプリでは、選ばれた行の title を元にモジュールを探すため、
これを存在しない名前に変更することで、実行するとエラーが出るはずです。
エラーを出してみることも重要な経験なので、後ほどエラー表示も確認してみましょう。

行の文字色を変更してみます。
tableViewRow_1 を編集対象に選択し、[fields] の [color] の行をクリックします。
gui_edit_color
フィールドを編集するダイアログが表示されます。
gui_edit_color
RGB の青の成分を増やして青色にしてみます。
gui_edit_color
色を指定するプロパティは文字列でセットするので 'クォート' が必要です。
gui_edit_color
[Enter] キーか [Add] ボタンで確定します。
gui_edit_color
シート上の値は変更されますが、画面には反映されていません。
これは [Refresh Screen] が必要となる変更の1つです。
gui_edit_color
タイトルバー変更中は、操作をしないで処理終了を待ってください。
gui_edit_color

gui_edit_color
[Refresh Screen] によって画面にも反映されます。

行の右の hasChild のマークを削除し、hasCheck のマークを追加してみます。
右側が確認しやすいように、[Flip Screen] を使います。
gui_edit_mark

gui_edit_mark
シートが左側に移動します。

tableViewRow_1 を編集対象に選択し、[fields] の [hasChild] の行をクリックします。
gui_edit_mark
フィールドを編集するダイアログが表示されるので、[Delete] を押します。
gui_edit_mark
[Delete] の場合は自動再描画処理されます。
タイトルバー変更中は、操作をしないで処理終了を待ってください。
gui_edit_mark

gui_edit_mark
シート上の行が削除され、画面にも反映されます。

[fields] の [Add New Field] の行をクリックします。
gui_edit_mark
フィールドを追加するダイアログが表示されます。
gui_edit_mark
上のピッカーから [hasCheck] を選択します。
gui_edit_mark
上のテキストフィールドに選択した値が表示されます。
ピッカーから選択せずに直接記入することもできます。
選択後に書き換えた場合、テキストフィールド側が有効です。
gui_edit_mark
下のピッカーから [true] を選択します。
gui_edit_mark
下のテキストフィールドに選択した値が表示されます。
gui_edit_mark
hasCheck プロパティは論理値でセットするので 'クォート' は不要です。
gui_edit_mark
[Enter] キーか [Add] ボタンで確定します。
gui_edit_mark
シート上に行が追加され、画面にも反映されます。

[View Source] でここまでの変更を確認します。
gui_run_debug
タイトルバー変更中は、操作をしないで処理終了を待ってください。
gui_run_debug
backgroundColor が変更されています。
gui_run_debug
title と color が変更、hasChild が削除、hasCheck が追加されています。
初期状態から変更していない tableViewRow_2 と比較してみましょう。
gui_run_debug

[Save Source] でここまでの変更を保存します。
保存せずに [Start App] しても変更は反映されないので注意してください。
gui_run_debug
保存先が初期画面 [appWindow] であることを確認します。
gui_run_debug
[Enter] キーか [Save] ボタンで確定します。
gui_run_debug
タイトルバー変更中は、操作をしないで処理終了を待ってください。
gui_run_debug

[Start App] で開発対象アプリを起動します。
gui_run_debug
開発対象アプリが起動します。
変更が反映されていることを確認してください。
1行目の title を書き換えたので、クリックするとエラーが出るはずです。
gui_run_debug
モジュールが見つからないという JS のエラーダイアログが表示されます。
gui_run_debug
back ボタンを2回押してGUI編集画面に戻ります。
gui_run_debug
tableViewRow_1 を編集対象に選択し、[fields] の [title] の行をクリックします。
gui_run_debug
['WebViewDemo'] から ['WebView'] に変更します。
gui_run_debug
[Save Source] で保存し、[Start App] で開発対象アプリを起動します。
gui_run_debug
モジュール名が正しくなったので、対応するデモ画面が表示されます。
mytiapp_webview
このように、JS のエラーダイアログが表示される場合、
ダイアログのエラーメッセージを参考に修正を行ってください。
この場合、ウェブブラウザ上でウェブアプリを開発する際の、
JSエラーダイアログが出る場合と近い感覚で修正できるでしょう。

一方、ウェブブラウザ上でウェブアプリを開発する際でも、
エラーダイアログが出ない不具合では、ブラウザによって正式名は様々ですが、
「エラーコンソール」のような名前の機能でログを確認すると思います。
Android 上の Titanium 開発でも、「予期せず停止」が発生したり、
黙ってアプリが落ちた場合、同様にログを確認して対処してください。
AIDE の [Show LogCat]ログ表示専用 Android アプリ 、パソコン上で adb logcat
など、ログ表示の方法はいくつかありますが、自分に合った方法を身に付けておきましょう。

GUI編集機能チュートリアル2


@d_o_locker(ろっかぁ)