å
¥ç¤¾ãã¦æ©3ã¶æãã¢ã«ãã¤ãã®take(ãã)ã§ãã
ãã®åº¦ã¯ãTitanium Mobileã§Androidã¢ããªãä½ããã¦ããã ãã¾ããã
IT åå¼·ä¼ã«ã¬ã³ãã¼ for Android
IT åå¼·ä¼ã«ã¬ã³ãã¼ for Android | æ ªå¼ä¼ç¤¾ã¤ã³ãã£ãããã«ã¼ã
IT åå¼·ä¼ã«ã¬ã³ãã¼ã®Androidç¨ãã¥ã¼ã¢ã§ãã
ã½ã¼ã¹ã³ã¼ãã¯GitHub: ilnt/IT-study-calendarã§å
¬éãã¦ãã¾ãã
主ãªä»æ§
- IT åå¼·ä¼ã«ã¬ã³ãã¼ãã1ã¶ææ¯ã«ãã¼ã¿ãåå¾ãããªã¹ã表示ãã¾ãã
- å°å(é½éåºç)ã§ãã£ã«ã¿ãæãã¦ãå ¨å½ã®åå¼·ä¼ãçµãè¾¼ããã¨ãã§ãã¾ãã
- 1ã¶ææ¯ã®ã¿ã¤ãã«æ¤ç´¢ãã§ãã¾ã
Titanium Mobileã¨ã¯
Appcelerator社ããªãªã¼ã¹ãã¦ããJavaScriptãç¨ãã¦AndroidãiOSã®ã¢ããªãéçºããããã®ãã©ãããã©ã¼ã ã§ãã
Javaã使ã£ããã¨ãç¡ãç§ã§ãJavaScriptã§Androidã¢ããªãä½ããï¼ã¨ãããã¨ã§ãéçºä¸ã«ããã£ããã¤ã³ããããã¤ããç´¹ä»ããã¦ããã ãã¾ãã
Titanium Mobileã®åºæ¬çãªãã¨ã«ã¤ãã¦ç¥ãããæ¹ã¯ãä¸è¨ã®è¨äºãåèã«ãªãã¾ãã
åå¿è
ã§ãï¼é±éã§iPhoneã¢ããªãä½ãã¡ããTitanium Mobileããããä»¶
ã¯ããã¦ã®Androidã¢ããªéçº
Titanium Mobileã§éçºããã«ã¯ãTitanium Studioã¨å¼ã°ããéçºç°å¢ãå°å
¥ãã¾ãã
Titanium Studioã¯Aptana Studioãå
ã«ããIDEã§ãã
Eclipseã®ãã©ã°ã¤ã³ã¨ãã¦å°å
¥ãããã¨ãã§ãã¾ãããADT(Eclipseã®ãã©ã°ã¤ã³:Android Development Tools)ã¨ç«¶åãããªã©éçºç°å¢ãæ±ãã¦ãã¾ããããæ¢åã®Eclipseã¨ã¯å¥ã«ã¹ã¿ã³ãã¢ãã³ã§ã¤ã³ã¹ãã¼ã«ãããã¨ããå§ããã¾ãã
Android SDKãå¿
è¦ãªã®ã§å°å
¥ããTitanium Studioã§ãã¹ã®è¨å®ããã¾ãã
Titanium Mobileã使ãã¨ãããã¨
Titanium Mobileã§ã¯ãUIé¨åãå
¨ã¦JavaScriptãªã®ã§ãWebã§ããã°HTMLãCSSã§è¨è¿°ããé¨åãJavaScriptã§æ¸ãã¾ãã(JSSã¨ããCSSã®ãããªãã®ã¯ä½¿ããããã§ã)
ã¤ã¾ããæèãã¦UIã¨ãã¸ãã¯ãåé¢ããããã«ããªããã°ãããã«ã³ã¼ããç
©éã«ãªãã¾ãã
ãã®ããã«ãTitanium Mobileã«ã¯çãããã¾ããããã¾ã使ããã¨ãã§ããã°ãJavaã¨Objective-Cãç¿å¾ããå¦ç¿ã³ã¹ããèããã¨æ¯è¼çç°¡åã«ã¢ããªãä½ããã¨ãã§ãã¾ãã
ããã§ãTitanium Mobileã§ããã£ããã¤ã³ãã¨è§£æ±ºçã5ã¤ã»ã©ç´¹ä»ãã¾ãã
Titanium Mobileã®ããããã¤ã³ã
â»Titanium SDK 2.1以ä¸ãAndroidã®å ´å
ï¼ï¼WindowãViewã®ãµã¤ãºãautoã«ãã¦ããã¨ããµã¤ãºãåå¾ã§ããªã
WindowãViewã®ãµã¤ãºãæå®ããã¦ããªãå ´åãautoã«ãã¦ãããã¦ããå ´åã¯ããã®è¦ç´ ã®ãµã¤ãºãåå¾ããã¨0ãè¿ãã¾ããâãµã¤ãºã¯èªåã§åå¾ä¸å¯è½
解決æ¡ï¼ç«¯æ«ã®ãã£ã¹ãã¬ã¤ãµã¤ãº(Ti.Platform.displayCaps)ãåå²ãã¦è¦ç´ ãé
ç½®ãã¾ãã
var search = Ti.UI.createSearchBar({ width: g.disp.width / 10 * 7, left: 0, showCancel: false, hintText: 'æ¤ç´¢ãã¼ã¯ã¼ã' }); /* Resources/ui/SearchView.js */
ï¼ï¼ã¹ãã¼ã¿ã¹ãã¼ã®é«ããåå¾ããè¡ãç¡ã
ãã£ã¹ãã¬ã¤ã®ãµã¤ãºãå
ã«ãç»é¢ãåå²ãã¦è¦ç´ ãé
ç½®ãã¾ãããããã縦æ¹åã«30pxã»ã©ãºã¬ãçãã¾ãããªããªããããã»ã©åå¾ãããã£ã¹ãã¬ã¤ãµã¤ãºã«ã¯ã¹ãã¼ã¿ã¹ãã¼ãå«ã¾ãã¦ããããã§ããâã¹ãã¼ã¿ã¹ãã¼ã®é«ããç¥ãè¡ã¯ãªã
解決æ¡ï¼ã¹ãã¼ã¿ã¹ãã¼ã®é«ãã¯å®æ°ã§æå®ãããã£ã¹ãã¬ã¤ã®é«ãããå¼ãã¦ããã¾ãã
// Global object var g = { loadConfig: config.load, gCal: {}, disp: { width: Ti.Platform.displayCaps.platformWidth, height: Ti.Platform.displayCaps.platformHeight - 27 }, /* Resources/app.js */
ï¼ï¼æååããã¦ãLjava.lang.Object ~ã¨ããã¨ã©ã¼ãåã
Ti.APIãç¨ãã¦åºåãããã¨æååããã¾ããããUIã«æç»ããã¨æååããèµ·ããå ´åãããã¾ãã
解決æ¡ï¼String()ã使ããStringãªãã¸ã§ã¯ãã«å¤æãã¦ããUIã¸æç»ããã¾ãã
var timeLabel = String(allday ? d.start[0] : d.start[0] + ' ' + d.start[1] + ' ~ ' + d.end[0] + ' ' + d.end[1]); var title = label(o.title); title.top = 3; title.font = {fontSize: 18}; title.backgroundColor = '#f9f9f9'; var hr = Ti.UI.createView({ top: 3, height: 3, backgroundColor: '#177bbd' }); view.add(hr); var time = createTextLine('æé :', timeLabel); /* Resources/ui/EventDetailView.js */
ï¼ï¼å®è¡ä¸ã«ãããã°ã¡ãã»ã¼ã¸ãåããã«è½ã¡ã
Titanium Mobileã§æ³å®ããã¦ããã¨ã©ã¼ã®å ´åã¯ã端æ«å´ã«ãããã°ã¡ãã»ã¼ã¸ãã¢ã©ã¼ãããã¾ãããäºæãã¬ä¾å¤ãçããã¨ãããªãè½ã¡ã¾ããTitanium Studioã«Javaã®ã¨ã©ã¼ãåããã¾ãããJavaScriptããæ¸ãã¦ããªãã®ã«Javaã®ã¨ã©ã¼ãè¦ãããã¦ã対å¦ã«å°ãã¾ãã
解決æ¡ï¼Tiãªãã¸ã§ã¯ãã®ã¡ã½ããã«æ¸¡ã弿°ã®åããã¡ã½ããã®ä½¿ãæ¹ãééãã¦ãã¾ããããTiãç¡è¨ã§è½ã¡ãå ´åã¯ãTiãã¤ãã£ãã«è¿ãé¨åã®ã³ã¼ããçãã¨è¯ãã§ãã
ï¼ï¼ãã®ä»ã注æããç¹
Viewã®ãªãã¸ã§ã¯ãã«ä»»æã®ãã¼ã¿ãæããããã¨ã¯ã§ããªãâç¡è¦ããã
Windowã«ã¯å¯è½ã§ããå¥ã®ã³ã³ãã¯ã¹ãã«ãã¼ã¿ã渡ãããå ´åã¯Windowãªãã¸ã§ã¯ãçµç±ã§æ¸¡ãã¾ãã
ViewãWindowã«å¯¾ãã¦çµ¶å¯¾çã«é ç½®ããã
Viewã¯ããã©ã«ãã§Windowã«å¯¾ãã¦çµ¶å¯¾çãªé ç½®ã§ãã
layoutããããã£ã使ã£ã¦vertical, horizontalã«æå®ãããã¨ã§ãåç´ã»æ°´å¹³æ¹åã¸ç¸å¯¾çã«é ç½®ããããã¨ãã§ãã¾ãã
æåã®éãå¯å¤ã«ãªãLabelãViewã®å ¥ãåã«ããã¨ãViewã®ãµã¤ãºã«å°ã
ä¾ãã°ãLabelãViewã®å ¥ãåã«ãªã£ã¦ãããã®ã縦ã«è¤æ°ä¸¦ã¹ããå ´åãViewã®ãµã¤ãºãå¯å¤ã«ã§ããªããããLabelã®ã¾ã¾ä¸¦ã¹ã¾ãã
Webéçºè ã¯ä¸åº¦Webãå¿ãã
Webéçºã§JavaScriptãæ±ã£ã¦ããã¨ãå¤ããã©ã¦ã¶ã®äºææ§(ç¹ã«IE)ãèæ ®ããããHTML(DOM)ã®ãã¨ãèããããã¾ãããTitanium Mobileã§ã¯ä¸åº¦å¿ãããã¨ããå§ããã¾ããTitanium Mobileã«ã¯IEãDOMãããã¾ãããããã®ã¯Tiãªãã¸ã§ã¯ãã¨ãã©ã¦ã¶ã®æ°ããå¤ãAndroid端æ«ã ãã§ãã
ã¤ã¾ããwebkitã§åãJavaScript 1.6ãæ¸ãã¾ããã¾ããTitanium Mobileã§DOMã®æè¦ã®ã¾ã¾è¤éã§éåæãªæç»å¦çããããã¨éããã¦åããªããªããããã§ããã ãTiãã¤ãã£ãã§ç¨æããã¦ããè¦ç´ ããã®ã¾ã¾ä½¿ãã¨è»½å¿«ã«åä½ãã¾ãã
â»ä¸è¨ã®ã³ã¼ãã¯ãã®è¨äºãæ¸ãã彿ã®ãã®(v0.1.1)ã§ãã
Titanium Mobileãç¨ããã¢ããªéçºã¨ã¯
Titanium Mobileã¯ãTitaniumã§ç¨æããã¦ããé¨åããã®ã¾ã¾ä½¿ç¨ãã¦å®è£
ã§ããã·ã³ãã«ãªã¢ããªã®éçºã«ã¯åãã¦ãã¾ãããè¤éãªæç»ãéåº¦ãæ±ããããå¦çã«ã¯åããªãããã«æãã¾ããã
ã¾ããAndroidã¨iOSã®ã¢ããªãåãè¨èªã§éçºãããã¨ãã§ãã¾ãããããã¯åãã³ã¼ããåãã¨ããæå³ã§ã¯ãªããUIãªã©ã®å®è£
ã®å·®ã¯éçºè
ãåããªãã¦ã¯ããã¾ãããã§ãããå¦ç¿ã³ã¹ããå°ãªããªããã¨ã¯äºå®ã§ãã
ä»å¾ãAndroid, iOSã®ç°¡åãªã¢ããªãä½ããã¨èããéã«ã使ãåæãè¦ãã¦ããã¨ä¾¿å©ãªãã©ãããã©ã¼ã ã«ãªãã¨æãã¾ãã
åèè³æ
æå¾ã«ãä»åã¢ããªãä½ãã«ããã£ã¦åèã«ããã¦ããã ããè³æãç´¹ä»ãã¾ãã
ããããTitanium Mobileã§ã¢ããªéçºãèãã¦ããæ¹ã¯ããã²ç®ãéãã¦ã¿ã¦ãã ããã
- å ¬å¼ã®APIãªãã¡ã¬ã³ã¹
- å ¬å¼ã®æ¥æ¬èªãã¥ã¼ããªã¢ã«
- Titanium Mobileã®æé»ãã¦ãã¦ãå ¬éãã¾ãã – ãã®ããã°ã¯è¨¼æã§ããªãã
- titanium-mobile-doc-ja – Google Project Hosting
- é£è¼ï¼Titanium Mobileã§ä½ãï¼ iPhoneï¼Androidã¢ããªï½gihyo.jp ⦠æè¡è©è«ç¤¾
- ãTitanium Advent Calendar 2011ï¼å乿¥ç®ãAndroidã¢ããªãä½ãããï¼ï½Androidã¢ããªã«å®è£ ãã¹ãTipsãã¡ – harukazepcã®æ¥è¨
- Titaniumã§ã¯ã¾ã£ããã¤ã³ã | ã®ã»ã»ã女å大çã®ã¤ã³ã¿ã©ã¯ã·ã§ã³æ¥è¨
- Titanium mobile ã§éçºãã ãããå½¹ã«ç«ã¤æ å ±ã®ã¾ã¨ã | astronaughts.net