Titanium Studio 悪戦苦闘
いくつかチュートリアルをこなしたが、Titunium Studioは使いにくい。コード補完機能は日頃使っていなかったので、とても新鮮なのだが。以下、気になったところ
- コンパイルに時間がかかりすぎると、sessionが切れる。
- 過去のコンパイル情報と矛盾した場合、エラーになる。
- 再度、コンパイル & 実行すると上手くいく。
- subverion pluginは使いにくい。
- プロジェクトの削除の方法が不明だった。
Subversionの利用
新規プロジェクトを始める。ソース管理は、やっぱりsubversionを使うことにしたが、subversionもコマンドラインで使っていたので、Titunium Studioでの利用に随分と迷う。いろいろ試行錯誤したが、結果以下の手順にした。ある程度ソースが出来、SVN Pluginのインストールの後、- [clean ..] する。 build ディレクトリを空にする。(iphoneディレクトリも無くす)
- command line で、import する。
- command line で、export する。
- buildフォルダの属性をignoreにする。
- 元のプロジェクトのIDを変更する(import時にIDで同じかを判断しているらしい)。
- 別のプロジェクトでimportする。
- 元のプロジェクトは削除する。menuから。
subversionプラグインのインストールは、以下を参照。
http://wiki.appcelerator.org/display/tis/Subversion
$ cd /project/dir/ $ svn import . -m "iPhone Titanium mobile app" http://xxx/svn/trunk/app $ cd .. $ mv app _app $ svn co http://xxx/svn/trunk/app $ cd app $ svn propset svn:ignore "*" build/ $ svn commit -m "set propset svn:ignore build/*"
最初のコード app.js
さて、今日のTitaniumの勉強は、棚卸業務プログラムの手始めとして、TabGroupの制御などを学習。Resorces/app.jsは、アプリケーションの起動ファイル。このソースが最初に処理される。
ここでは、タブグループのセットと、他のviewとのつながりを記述することにした。
Titanium.UI.setBackgroundColor('#000'); //背景をセット var tabGroup = Ti.UI.createTabGroup(); //タググループセット // [tab_scan]タブの生成。 [win_scan]ウインドウを所有する。 // 起動の初期画面。バーコードスキャンなど主業務を行う画面となる予定。 var win_scan = Ti.UI.createWindow({ url: 'win_scan.js', // win_scanが記載されるソースファイル title: 'SCAN', // cssに準拠しているらしい backgroundColor:'#fff' }); var tab_scan = Ti.UI.createTab({ // window: win_scan, icon:'KS_nav_ui.png', title:'scan' }); // タブ [list_tab] // スキャンしたコードを保管し、その一覧を表示する予定。 var win_list = Ti.UI.createWindow({ url: 'win_list.js', title: 'LIST', backgroundColor:'#fff' }); var tab_list = Ti.UI.createTab({ window: win_list, icon:'KS_nav_ui.png', title:'list' }); tab_list.setBadge(52); // バッチ表示を試してみた。 // タブ [tab_config] // 各種設定を行う画面の予定。 var win_config = Ti.UI.createWindow({ url: 'win_config.js', title: 'CONFIG', backgroundColor:'#fff' }); var tab_config = Ti.UI.createTab({ window: win_config, icon:'KS_nav_ui.png', title:'config' }) // タブグループへの各タブの追加とスタート。 // 初期は、tabs[0] になるらしい。addTabは、配列への追加イメージか。 tabGroup.addTab(tab_scan); tabGroup.addTab(tab_list); tabGroup.addTab(tab_config); tabGroup.open();
win_scan.js
ボタンの追加とボタンクリックの時のイベントリスナー処理を試してみた。// このファイルが呼ばれた時点で "current" var win = Ti.UI.currentWindow; // currentWindowは(appの)プロパティ。 var label = Ti.UI.createLabel({ color:'#999', text:'this is scan windows.', font:{fontSize:20,fontFamily:'Helvetica Neue'}, // フォントは設定がこれ? textAlign:'center', top:10, height:30 // 指定しないと autoになり、windowいっぱいの縦幅になる。 }); win.add(label); var scanButton = Ti.UI.createButton({ title:'Scan It', top:80, left:10, width:300, height:100 }); win.add(scanButton); var sendButton = Ti.UI.createButton({ title:'Send Data', top:200, left:10, width:300, height:100 }); win.add(sendButton); // ボタン[scanButton]がクリックされた場合のイベントを記載。 // イベントの実際は、無名関数 function() で実装。 scanButton.addEventListener('click', function(){ Ti.UI.createAlertDialog({ title: 'SCAN ...', message: 'scan complete !' }).show(); // オブジェクトを生成し、すぐ表示。イベント発生時になる。 });
イベントリスナーのテストをしたところ!
0 件のコメント:
コメントを投稿