Más contenido relacionado
Similar a TitaniumによるiPhone/Androidアプリ開発 (20)
TitaniumによるiPhone/Androidアプリ開発
- 7. 実演
必要環境
OS X Snow Leopard
XCode + iOS SDK (4.2 対応 )
Android SDK (Android 開発をする場合のみ)
まずは見たいですよね
- 10. 生成されるコード
var tabGroup = Titanium.UI.createTabGroup();
var win1 = Titanium.UI.createWindow({
title:'Tab 1',
backgroundColor:'#fff'
});
var tab1 = Titanium.UI.createTab({
icon:'KS_nav_views.png',
title:'Tab 1',
window:win1
});
tabGroup.addTab(tab1);
tabGroup.open();
- 11. これでも動く
var win1 = Titanium.UI.createWindow({
title:'Tab 1',
backgroundColor:'#fff'
});
var label = Titanium.UI.createLabel({
text:'Hello World',
});
win1.add(label);
win1.open();
- 16. まずは TableView
Tweet の Timeline を表示する
UITableView と同じ
Titanium.UI.TableView に対して
Ti.UI.TableViewRow の配列を渡すだけ
- 17. table_view.js
var data = [];
var tableView =
Ti.UI.createTableView(
{
!! data:data
! }
);!
Ti.UI.currentWindow.add(tableView);
- 18. JS 指定で createWindow
var win = Titanium.UI.createWindow(
{
title:'Tab 1',
url:'table_view.js',
backgroundColor:'#fff'
}
);
- 21. HTTP Request
Ti.Network.HTTPClient
var screen_name = 'kurain';
var url = "http://api.twitter.com/1/statuses/
user_timeline.json?screen_name="+screen_name;
var xhr = Ti.Network.createHTTPClient();
xhr.open("GET",url);
xhr.onload = function() {
var tweets =
JSON.parse(this.responseText);
}
xhr.send();
- 22. Callback
xhr.onload = function() {
var tweets = JSON.parse(this.responseText);
var data = [];
for(var i=0;i<tweets.length;i++) {
var row = Ti.UI.createTableViewRow();
var label = Ti.UI.createLabel(
{
text: tweets[i].text
}
);
row.add(label);
data.push(row);
}
var tableView = Titanium.UI.createTableView(
{
! ! data:data
! }
);
Titanium.UI.currentWindow.add(tableView);
}
- 25. Ti.UI.ImageView
var url = tweets[i].user.profile_image_url
var image = Ti.UI.createImageView(
{
image:url,
left: 0,
width: 48,
height: 48
}
);
row.add(image);
- 31. OAuth 認証
if (oAuthAdapter.isAuthorized() == false) {
var receivePin = function() {
oAuthAdapter.getAccessToken(
'https://api.twitter.com/oauth/access_token'
);
oAuthAdapter.saveAccessToken('twitter');
};
oAuthAdapter.showAuthorizeUI(
'https://api.twitter.com/oauth/authorize?' +
oAuthAdapter.getRequestToken(
'https://api.twitter.com/oauth/request_token'
),
receivePin
);
}
- 33. NavigationBar
var r = Titanium.UI.createButton(
{
! systemButton:Titanium.UI.iPhone.SystemButton.ADD
}
);
//addEventListener に注目!!
r.addEventListener('click',function()
{
! tweet('Hoge!');
}
);
Titanium.UI.currentWindow.setRightNavButton(r);