[Titanium]在android上實現多國語言對應

titanium_android_i18n之前曾經碰過在ANDROID的時候,由於命名問題造成的錯誤。但當真正要實踐在android中的多國語言對應時才發現,並不是單單只有改檔名的問題,不只存放多國語言的XML的資料夾的位置不同,還需要透過修改AndroidManifest.xml的配合才能夠達到多國語言的目的。
在這部份,其實在appcelerator的wiki中已經有蠻清楚的說明。只是這次使用的是alloy,所以稍微記錄一下目前的目錄結構(如左)。順便也記錄一下這次在製作AndroidManifest.xml時碰到的一點點小問題。

閱讀全文

[NBA DREAM TEAM]1ON1-BATTLE

在這個一對一對決的活動中,玩家們扮演的教練們必須帶領著自己的隊伍一步一步往更高的樓層前進。上樓的方式就是打敗其他的玩家來獲得「勝利pt」,累積到目標點數就可以上一層樓並獲得上樓獎勵。每五層樓會遇到守門的hoop master,打敗hoop master之後可以把他們吸收到自己的隊伍。其中第50跟100層的都是號稱現役最強的中鋒:ドワイト・ハワード(Dwight David Howard)。也就是說,打過100層後就可以合成出一張SS+的德懷特。然後按照慣例,活動結束後會依照「勝利pt」來進行排名,前1000名可以拿到SS的姚明(ヤオ・ミン,Yao Ming),前50名再多加一張!

1on1バトル
閱讀全文

[TITANIUM] 在android中的webview取得cookie

雖然titanium一向號稱可以使用同樣的程式碼同時製作出android跟ios的app,但實際上事情總不是這麼的歡樂….
像是一個簡單的是用twitter帳號來進行登入的動作,由於api的工程師是使用cookie跟CSRF token配對好的金鑰來跟api端進行認證,ios因為webview跟HTTPClient會自動共用cookie,所以只要在webview登入twitter後,就可以以新建立的HTTPClient來跟api索取token然後進行跟api端的互動。
只是到了android的時候,webview與HTTPClient不再自動共用cookie,所以我們得要在HTTPClient把object傳送到api之前利用setRequestHeader帶入Cookie,才有辦法取得正確的token。
所以問題就在於怎麼在登入成功的webview中,取出當時的cookie。接著google會告訴我們在這邊有這麼一個方法:

webView.addEventListener('load',function(e) {
  var cookies = webView.evalJS("document.cookie").split(";"); 
  Ti.API.info( "# of cookies -> " + cookies.length  );
  for (i = 0; i <= cookies.length - 1; i++) {
    Ti.API.info( "cookie -> " + cookies[i] );
  }
});

可惜我所得到的卻始終是空值(NULL)。
閱讀全文