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 件のコメント:
コメントを投稿