Android版でしか利用できない機能として,
カレンダーの取得
Googleカレンダーには,
var win = Ti.UI.currentWindow;
var table = Ti.UI.createTableView();
var data = [];
var calendars = Ti.Android.Calendar.allCalendars;
for(var i=0;i<calendars.length;i++){
var calendar = calendars[i];
var row = Ti.UI.createTableViewRow({
height: '60dp',
'font-size': '20dp',
color: 'black'
});
row.title = calendar.name;
row.calendarObj = calendar;
data.push(row);
row.addEventListener(
'click',
function(){
var newWin = Ti.UI.createWindow({
url: 'event_list.js',
calendarObj: this.calendarObj
});
Ti.UI.currentTab.open(newWin);
}
);
}
table.setData(data);
win.add(table);
これだけでAndroid端末と紐づいてるGoogleアカウントのカレンダー名の一覧が表示できます。Ti.
var win = Ti.UI.currentWindow;
win.setBackgroundColor('#000');
var table = Ti.UI.createTableView();
var data = [];
var calendar = win.calendarObj;
var YEAR = 2011;
var events = calendar.getEventsInYear(YEAR);
for(var i=0;i<events.length;i++){
var eventObj = events[i];
var row = Ti.UI.createTableViewRow({
height: '60dp',
'font-size': '20dp',
backgroundColor: 'white',
color: 'black'
});
row.title = eventObj.title;
row.eventObj = eventObj;
row.addEventListener(
'click',
function(){
var newWin = Ti.UI.createWindow({
url: 'event_detail.js',
eventObj: this.eventObj
});
Ti.UI.currentTab.open(newWin);
}
);
data.push(row);
}
table.setData(data);
win.add(table);
こちらのコードもカレンダーの表示と似ていますが,
イベントの詳細を表示する部分は次のようになります。
var win = Ti.UI.currentWindow;
win.setBackgroundColor('#000');
var table = Ti.UI.createTableView();
var data = [];
var e = win.eventObj;
var details = [
e.title,
e.description,
e.begin.toLocaleString(),
e.end.toLocaleString()
];
for(var i=0;i<details.length;i++){
var detail = details[i];
var row = Ti.UI.createTableViewRow({
height: '60dp',
'font-size': '20dp',
backgroundColor: 'white',
color: 'black'
});
row.title = detail;
data.push(row);
}
table.setData(data);
win.add(table);
アラームの有無などイベントに設定されている値は多岐に渡るのですが,