html,css,javascript,jquery

twitter.js

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
		}));
		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('offline');
			return;
		}
		//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);
			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));
				appendRow(TiTwitter.UI.createTableViewRow(tweet));
			};
		});
	};

})();

win1.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');

app.js

// 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();


//
// create base UI tab and root window
//
var win1 = Titanium.UI.createWindow({  
    title:'@appcelerator',
    backgroundColor:'#fff',
    //分割先のスクリプトファイルパス
    url:'win1.js'
});
/*
win1.oneMoreThing = true;
win1.open();
*/

//customという名前のカスタムイベントを受け取り処理する
/*
Titanium.App.addEventListener('custom',function(e){
	var test1 = Ti.API.info(e.message);
	var test2 = Ti.API.info(e.profile.name);
	alert(test1);
	alert(test2);
});
*/
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
});



//
// 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();
}

win3.js

var win = Titanium.UI.currentWindow;

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();
});

win5.js

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();
};

このページへのコメント

wkwnF0 Im obliged for the article post.Really looking forward to read more. Keep writing.

0
Posted by awesome things! 2014年01月21日(火) 00:57:55 返信

kRTA6u Awesome article post.Much thanks again. Really Great.

0
Posted by nice site here 2014年01月16日(木) 17:43:45 返信

4YlVdk <a href="http://yegolxnkrulp.com/">yegolxnkrulp</a>, [url=http://lygdryxqtfmi.com/]lygdryxqtfmi[/url], [link=http://mqvmcljwloko.com/]mqvmcljwloko[/link], http://omqfhsgpexbk.com/

0
Posted by dkhfdzaa 2013年11月19日(火) 09:00:35 返信

WZBgaf <a href="http://qhblmjglthyx.com/">qhblmjglthyx</a>, [url=http://giolrgbpispe.com/]giolrgbpispe[/url], [link=http://rmydsrfqcxvd.com/]rmydsrfqcxvd[/link], http://ublfqugbtowj.com/

0
Posted by epthlivh 2013年11月14日(木) 11:33:28 返信

I truly appreciate this article.Really looking forward to read more. Awesome.

0
Posted by vigrx reviews 2013年11月09日(土) 22:08:04
https://www.filesanywhere.com/fs/v.aspx?v=8b6b698f...
返信

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Menu

メニューサンプル2

JSメモ

  • アイテム
  • アイテム
  • アイテム
【メニュー編集】

管理人/副管理人のみ編集できます