// this sets the background color of the master UIView (when there are no windows/tab groups on it) Titanium.UI.setBackgroundColor('#000'); // create tab group var tabGroup = Titanium.UI.createTabGroup(); // 1番目のタブの定義 var tab1 = Titanium.UI.createTab({ icon: 'dark_appcelerator.png', title: '公式アカウント', window: Titanium.UI.createWindow({ title: '公式アカウント', backgroundColor: '#fff', url: 'tab1.js' }) }); // // create base UI tab and root window // /* var win1 = Titanium.UI.createWindow({ title:'@appcelerator', backgroundColor:'#fff', //分割先のスクリプトファイルパス url:'win1.js' }); */ /* Titanium.App.addEventListener('custom',function(e){ //イベント引数として受け取るのではなくアプリケーションプロパティを利用 var test3 = Titanium.API.info(Ti.App.Properties.getString('message')); alert(test3); }) */ /* var tab1 = Titanium.UI.createTab({ icon:'dark_appcelerator.png', title:'@appcelerator', window:win1 }); */ // // create controls tab and root window // var win2 = Titanium.UI.createWindow({ title:'@appcelerator_ja', backgroundColor:'#fff' }); var tab2 = Titanium.UI.createTab({ icon:'dark_appcelerator.png', title:'@appcelerator_ja', window:win2 }); var label2 = Titanium.UI.createLabel({ color:'#999', text:'I am Window 2', font:{fontSize:20,fontFamily:'Helvetica Neue'}, textAlign:'center', width:'auto' }); win2.add(label2); // // create controls tab and root window // /* var win3 = Titanium.UI.createWindow({ title:'#Titanium', backgroundColor:'#fff', url:'win3.js' }); var tab3 = Titanium.UI.createTab({ icon:'dark_pegman.png', title:'#Titanium', window:win3 }); */ var tab3 = Titanium.UI.createTab({ icon: 'dark_pegman.png', title: '#Titanium', window: Titanium.UI.createWindow({ title: '#Titanium', backgroundColor: '#fff', url: 'tab2.js' }) }); // // create controls tab and root window // var win4 = Titanium.UI.createWindow({ title:'#TitaniumJP', backgroundColor:'#fff' }); var tab4 = Titanium.UI.createTab({ icon:'dark_pegman.png', title:'#TitaniumJP', window:win4 }); var label4 = Titanium.UI.createLabel({ color:'#999', text:'I am Window 2', font:{fontSize:20,fontFamily:'Helvetica Neue'}, textAlign:'center', width:'auto' }); win4.add(label4); Titanium.include('tab5.js'); /* var win5 = Titanium.UI.createWindow({ title:'#Titanium', backgroundColor:'#fff', url:'win5.js' }); var tab5 = Titanium.UI.createTab({ icon:'dark_search.png', title:'#Titanium', window:win5 }); */ // // add tabs // tabGroup.addTab(tab1); tabGroup.addTab(tab2); tabGroup.addTab(tab3); tabGroup.addTab(tab4); tabGroup.addTab(tab5); // open tab group tabGroup.open(); /* if(Titanium.Network.online == false){ alert('offline'); }else{ var xhr = Titanium.Network.createHTTPClient(); var url = "http://www.appcelerator.com/"; //接続 xhr.open('GET',url,false); //レスポンツを受け取るイベント(非同期に実行される) xhr.onload = function(){ //Titanium Developerの画面にログを出力する Titanium.API.info(xhr.responseText); } xhr.onerror = function(error){ //error message }; //リクエストを送信 xhr.send(); } */
var TiTwitter = {}; (function(){ //UI関連 TiTwitter.UI = {}; //本体となるTableViewはここに宣言しておく TiTwitter.UI.tableView = Titanium.UI.createTableView(); //個々のTableViewRowを生成する TiTwitter.UI.createTableViewRow = function(tweet){ var row = Titanium.UI.createTableViewRow(); row.height = 180; row.add(Titanium.UI.createLabel({ text:tweet.user.screen_name, top:8, left:64, height:16 })); row.add(Titanium.UI.createLabel({ text:tweet.text, top:32, left:64, width:256, height:'auto' })); row.add(Titanium.UI.createImageView({ image:tweet.user.profile_image_url, top:8, left:8, width:48, height:48 })); /*3-7-3アプリケーション連携ここから*/ //ここでタイムラインの表示をクリックするとウェブページへ飛ぶようにする /* row.tweet = tweet; row.addEventListener('click',function(e){ var t = e.rowData.tweet; var url = 'http://twitter.com/' + t.user.screen_name + '/status/' + t.id_str; Titanium.Platform.openURL(url); }); */ /*3-7-3アプリケーション連携ここまで*/ ////3−7−3 ここから row.tweet = tweet; row.addEventListener('click',function(e){ //alert(e.rowData.tweet); //Ti.API.info(e); var t = e.rowData.tweet; var url = 'http://twitter.com/' + t.user.screen_name + '/status/' + t.id_str; //選択ダイアログの生成 var dialog = Titanium.UI.createOptionDialog({ //タイトル(プロンプト) title: '処理を選択してください。', //ボタンの配置(ちなみに配列なので0オリジンでindexを持つ) options:["safari","Twiter for iPhone","E-mail","キャンセル"], //キャンセルボタンは見た目を変えることができる cancel:3 }); //ボタン選択時の処理はイベントハンドラを記述 dialog.addEventListener('click',function(e){ //キャンセルのときはe.cancel === trueとなる if(e.cancel === true){ alert("cancel"); return; } //ボタン選択時挙動 if(e.index == 0){ //alert("0"); Titanium.Platform.openURL(url); } else if(e.index == 1){ //alert("1"); Titanium.Platform.openURL('twitter:' + url); } else if(e.index === 2){ (function(){ //メール送信用のダイアログウィンドウを表示する準備 var emailDialog = Titanium.UI.createEmailDialog(); //題名の初期値をセット emailDialog.subject = 'Twitter'; //本文の初期値をセット emailDialog.messageBody = tweet.text + "\n" + url; //ダイアログを開く emailDialog.open(); })(); } }); dialog.show(); }); ////3−7−3 ここまで return row; }; //プラットフォーム依存部を場合分けで記述する TiTwitter.UI.setRefreshButton = function(callback){ //(ios)ウィンドウの右上ボタンを設定 var rightButton = Titanium.UI.createButton({ systemButton: Titanium.UI.iPhone.SystemButton.REFRESH }); Titanium.UI.currentWindow.rightNavButton = rightButton; rightButton.addEventListener('click',function(){ callback(); }); }; //TwitterAPIを非同期で呼び出す TiTwitter.callAPI = function(method,url,params,callbackOnLoad){ //ネットワークが使用できないときはエラーメッセージを表示する if(Titanium.Network.online == false){ //エラー表示 alert('offline2'); return; /* //オフラインでも開発用 var offlineDATA = { contributors : null, coordinates : null, "created_at" : "Sat Jul 30 01:19:17 +0000 2011", favorited : 0, geo : null, id : "9.711400258437939e+16", "id_str" : 97114002584379392, "in_reply_to_screen_name" : null, "in_reply_to_status_id" : null, "in_reply_to_status_id_str" : null, "in_reply_to_user_id" : null, "in_reply_to_user_id_str" : null, place : null, "retweet_count" : 0, retweeted : 0, source : "<a href=\"http://twipple.jp/\" rel=\"nofollow\">ついっぷる for iPhone</a>", text : "オフライン用テスト情報", truncated : 0, user : { "contributors_enabled" : 0, "created_at" : "Sun Jan 16 00:30:01 +0000 2011", "default_profile" : 1, "default_profile_image" : 0, description : "\U30b7\U30a7\U30a2\U30cf\U30a6\U30b9\U3092\U3053\U3088\U306a\U304f\U611b\U3059\U308b\U7537\U3002\n\U5c71\U767b\U308a\U3001\U4e0d\U52d5\U7523\U6295\U8cc7\U3001\Uff26\Uff38\U3001\U5730\U4e0b\U6c34\U3001\U30bf\U30a4\U8a9e\U3001\U30d0\U30c3\U30af\U30d1\U30c3\U30ab\U30fc\U65c5\U884c\U7b49\U8208\U5473\U304c\U3042\U308a\U307e\U3059\U3002\U305d\U308d\U305d\U308d\U4e16\U754c\U4e00\U5468\U884c\U304d\U305f\U3044\Uff01\U904b\U304c\U3044\U3044\U7cfb\U3002\n", "favourites_count" : 111, "follow_request_sent" : 0, "followers_count" : 254, following : 1, "friends_count" : 304, "geo_enabled" : 0, id : 238766156, "id_str" : 238766156, "is_translator" : 0, lang : "ja", "listed_count" : 4, location : "\U5343\U8449\U770c\U8239\U6a4b\U5e02", name : "ゆうし", notifications : 0, "profile_background_color" : "C0DEED", "profile_background_image_url" : "http://a0.twimg.com/images/themes/theme1/bg.png", "profile_background_image_url_https" : "https://si0.twimg.com/images/themes/theme1/bg.png", "profile_background_tile" : 0, "profile_image_url" : "http://a2.twimg.com/profile_images/1307306462/image_normal.png", "profile_image_url_https" : "https://si0.twimg.com/profile_images/1307306462/image_normal.png", "profile_link_color" : "0084B4", "profile_sidebar_border_color" : "C0DEED", "profile_sidebar_fill_color" : "DDEEF6", "profile_text_color" : "333333", profile_use_background_image:1, "protected" :0, screen_name : "baanyushi", "show_all_inline_media" : 0, "statuses_count" : 2300, "time_zone" : "Tokyo", "url" : null, "utc_offset" : 32400, verified : 0 } };//offlineDATA //いったんテーブルをクリア alert("test"); Titwitter.UI.tableview.data = []; //ROWをテーブルに追加 var _row = Titwitter.UI.createTableRow(offlineDATA); Titwitter.UI.tableview.appendRow(_row); //オフラインでも開発用 end */ } //HTTPClientオブジェクトを生成 var xhr = Titanium.Network.createHTTPClient(); xhr.open(method,url,false); //レスポンスを受け取るイベント(非同期に実行される) xhr.onload = function(){ callbackOnLoad(xhr.status,xhr.responseText); } //エラー発生時のイベント xhr.onerror = function(error){ //errorにはエラー事由の文字列オブジェクトが入ります。 alert(error); }; //リクエスト送信 if(params){ xhr.send(params); }else{ xhr.send(); } }; TiTwitter.loadUserTimeline = function(screenName){ var url = 'http://api.twitter.com/1/statuses/user_timeline.json?screen_name=' + screenName; TiTwitter.callAPI('GET',url,null,function(status,responseText){ //データをクリア TiTwitter.UI.tableView.data = []; //受け取ったJSONをパース var json = JSON.parse(responseText); for (var i=0; i < json.length; i++) { TiTwitter.UI.tableView.appendRow(TiTwitter.UI.createTableViewRow(json[i])); }; }); }; //検索結果を取得する TiTwitter.loadSearchResult = function(queryString){ var url = 'http://search.twitter.com/search.json'; TiTwitter.callAPI('GET',url,{q:queryString},function(status,responseText){ //データをクリア TiTwitter.UI.tableView.data = []; //受け取ったJSONデータをパース var json = JSON.parse(responseText); //alert(json.results.length); for (var i=0; i < json.results.length; i++) { //レイアウトの違いを吸収 var tweet = json.results[i]; tweet.user = {}; tweet.user.screen_name = tweet.from_user; tweet.user.name = tweet.from_user; tweet.user.profile_image_url = tweet.profile_image_url; TiTwitter.UI.tableView.appendRow(TiTwitter.UI.createTableViewRow(tweet)); }; }); }; })();
// tab1.js var win = Titanium.UI.currentWindow; // 公式アカウントの一覧 var tableView = Titanium.UI.createTableView({ data : [{ title: '@appcelerator', url: 'win1.js', hasChild: true }/*,{ title: '@appcelerator_ja', url: 'win2.js', hasChild: true }*/ ] }); win.add(tableView); // TableView選択時のイベント tableView.addEventListener('click', function(e) { // TableViewRowの各データにアクセスするにはe.rowDataを介する var newWindowUrl = e.rowData.url; var newWindow = Titanium.UI.createWindow({ title: e.row.title, backgroundColor: '#fff', url: newWindowUrl }); Titanium.UI.currentTab.open(newWindow); });
// tab2.js var win = Titanium.UI.currentWindow; // 公式アカウントの一覧 var tableView = Titanium.UI.createTableView({ data : [{ title: '#titanium', url: 'win3.js', hasChild: true }/*,{ title: '#titaniumJP', url: 'win4.js', hasChild: true }*/ ] }); win.add(tableView); // TableView選択時のイベント tableView.addEventListener('click', function(e) { // TableViewRowの各データにアクセスするにはe.rowDataを介する var newWindowUrl = e.rowData.url; var newWindow = Titanium.UI.createWindow({ title: e.row.title, backgroundColor: '#fff', url: newWindowUrl }); Titanium.UI.currentTab.open(newWindow); });
// tab5.js var tab5 = Titanium.UI.createTab({ icon: 'dark_search.png', title: '検索', window: Titanium.UI.createWindow({ title: '検索', backgroundColor: '#fff', url:'win5.js' }) });
//win1.jsのwindowを変数にセット var win = Titanium.UI.currentWindow; //ライブラリの読み込み Titanium.include('titwitter.js'); //TableViewの追加 win.add(TiTwitter.UI.tableView); //再読み込みの設定 TiTwitter.UI.setRefreshButton(function(){ TiTwitter.loadUserTimeline('appcelerator'); }); //初回読み込み TiTwitter.loadUserTimeline('appcelerator');
var win = Titanium.UI.currentWindow; //ライブラリの読み込み Titanium.include('titwitter.js'); //TableViewの追加 win.add(TiTwitter.UI.tableView); //再読み込みの設定 TiTwitter.UI.setRefreshButton(function(){ TiTwitter.loadsearchResult('#Titanium'); }); //初回読み込み TiTwitter.loadSearchResult('#Titanium'); /* var tableView = Titanium.UI.createTableView(); win.add(tableView); //@appceleratorのtweetを取得 var url = 'http://search.twitter.com/search.json'; var refreshTimeline = function(){ //alert("読み込むよ!"); if(Titanium.Network.online != false){ //HTTPclientオブジェクト生成 var xhr = Titanium.Network.createHTTPClient(); xhr.open('GET',url,false); //レスポンスを受け取るイベント(非同期に実行させる) xhr.onload = function(){ //表示内容をいったんクリアする tableView.data = []; //受け取ったJSONデータをパース var json = JSON.parse(this.responseText); //JSON構造が違うため、json.lengthではなく、json.results.length for(var i=0; i<json.results.length; i++){ var tweet = json.results[i]; tweet.user = {}; tweet.user.screen_name = tweet.from_user; tweet.user.name = tweet.from_user; tweet.user.profile_image_url = tweet.profile_image_url; //ここからは基本的に同じ var row = Titanium.UI.createTableViewRow(); row.height = 180; row.add(Titanium.UI.createLabel({ //tweet変数を経由して取得する text:tweet.user.screen_name, top:8, left:64, height:16 })); row.add(Titanium.UI.createLabel({ text:tweet.text, top:32, left:64, width:256, height:'auto' })); row.add(Titanium.UI.createImageView({ image:tweet.user.profile_image_url, top:8, left:8, width:48, height:48 })); tableView.appendRow(row); } }; //error xhr.onerror = function(error){ //error message alert(error); }; //send xhr.send({ q:'#Titanium', lang:'ja', locale:'ja' }); }else{ //error alert('offline'); } } refreshTimeline(); //ウィンドウの右上のボタンを設定 var rightButton = Titanium.UI.createButton({ //title:'再読込' systemButton:Titanium.UI.iPhone.SystemButton.REFRESH }); win.rightNavButton = rightButton; rightButton.addEventListener('click',function(){ //alert('onbt'); refreshTimeline(); }); */
var win = Titanium.UI.currentWindow; Titanium.include('titwitter.js'); //SearchBarとTableViewの追加 var searchBar = Titanium.UI.createSearchBar({ showCancel:true, height:43, top:0 }); TiTwitter.UI.tableView.top = 43; win.add(searchBar); win.add(TiTwitter.UI.tableView); //再読み込みの設定 TiTwitter.UI.setRefreshButton(function(){ TiTwitter.loadSearchResult(searchBar.value); }); //検索開始とキーボートを閉じるイベントを設定する searchBar.addEventListener('cancel',function(){ searchBar.blur(); }); searchBar.addEventListener('return',function(){ //検索語の保存 Titanium.App.Properties.setString('query_string',searchBar.value); searchBar.blur(); TiTwitter.loadUserTimeline(searchBar.value); }); //保存された検索語があれば初期表示 if (Titanium.App.Properties.getString('query_string',null) != null) { searchBar.value = Titanium.App.Properties.getString('query_string'); TiTwitter.loadUserTimeline(searchBar.value); }; /* var win = Titanium.UI.currentWindow; var searchBar = Titanium.UI.createSearchBar({ showCancel:true, height:43, top:0 }); var tableView = Titanium.UI.createTableView({ top:43 }); win.add(searchBar); win.add(tableView); //@appceleratorのtweetを取得 var url = 'http://search.twitter.com/search.json'; var refreshTimeline = function(){ //alert("読み込むよ!"); if(Titanium.Network.online != false){ //HTTPclientオブジェクト生成 var xhr = Titanium.Network.createHTTPClient(); xhr.open('GET',url,false); //レスポンスを受け取るイベント(非同期に実行させる) xhr.onload = function(){ //表示内容をいったんクリアする tableView.data = []; //受け取ったJSONデータをパース var json = JSON.parse(this.responseText); //JSON構造が違うため、json.lengthではなく、json.results.length for(var i=0; i<json.results.length; i++){ var tweet = json.results[i]; tweet.user = {}; tweet.user.screen_name = tweet.from_user; tweet.user.name = tweet.from_user; tweet.user.profile_image_url = tweet.profile_image_url; //ここからは基本的に同じ var row = Titanium.UI.createTableViewRow(); row.height = 180; row.add(Titanium.UI.createLabel({ //tweet変数を経由して取得する text:tweet.user.screen_name, top:8, left:64, height:16 })); row.add(Titanium.UI.createLabel({ text:tweet.text, top:32, left:64, width:256, height:'auto' })); row.add(Titanium.UI.createImageView({ image:tweet.user.profile_image_url, top:8, left:8, width:48, height:48 })); tableView.appendRow(row); } }; //error xhr.onerror = function(error){ //error message alert(error); }; //send xhr.send({ q:searchBar.value, lang:'ja', locale:'ja' }); }else{ //error alert('offline'); } } refreshTimeline(); //ウィンドウの右上のボタンを設定 var rightButton = Titanium.UI.createButton({ //title:'再読込' systemButton:Titanium.UI.iPhone.SystemButton.REFRESH }); win.rightNavButton = rightButton; rightButton.addEventListener('click',function(){ //alert('onbt'); refreshTimeline(); }); //検索開始とキーボートを閉じるイベントを設定する searchBar.addEventListener('cancel',function(){ searchBar.blur(); }); searchBar.addEventListener('return',function(){ //検索語の保存 Titanium.App.Properties.setString('query_string',searchBar.value); searchBar.blur(); refreshTimeline(); }); //保存された検索語があれば初期表示 if (Titanium.App.Properties.getString('query_string',null)) { searchBar.value = Titanium.App.Properties.getString('query_string'); refreshTimeline(); }; */
このページへのコメント
hello Wholesale Costumes !
Junlin Wholesale Sexy Lingerie,Swimwear and Wholesale costumes products more 1300+ styles,China Costumes and Lingerie Supplier,fast shipping worldwide from China.
WebSite:<a href="www.4slingerie.com">Costumes</a>
www.4slingerie.com
<a href="http://airmax90baratas.bestbuy-goods.com">Nike Air Max 90 Baratas</a> <a href="http://airmax90baratas.bestbuy-goods.com">Nike Air Max 90</a> asociado sustantivo Vellutato & Divisa . realmente es un poco puede ser lleno el mundo del afecto , típicos , cultura y Medio oriental flujo de aire . Anuncios de número de otoño de acusar de de votre Jia clase excede algún tipo de algún modelo para dar Oferta usted busca justo por bastantes , es
<a href="http://bottesuggpascher.buy-outlet.com">bottes ugg</a> <a href="http://bottesuggpascher.buy-outlet.com">bottes ugg</a> Grazia publicación moda en Important
d3pfka <a href="http://wacajbvlazzx.com/">wacajbvlazzx</a>, [url=http://umpqkovvczcy.com/]umpqkovvczcy[/url], [link=http://lgkfgjdtuwuv.com/]lgkfgjdtuwuv[/link], http://amjshgupywhd.com/
TZHi9O <a href="http://zfqbknypynvt.com/">zfqbknypynvt</a>, [url=http://bqxixspimyic.com/]bqxixspimyic[/url], [link=http://gpbxajzfvqnt.com/]gpbxajzfvqnt[/link], http://jvlxwpgnekui.com/