2011年1月12日 星期三

Flex Localization 在地化 閱讀筆記三:Loacal資源配置實做

  • new Flex project。
  • 設定專案名稱為Localization_Demo。
  • 選擇你想用的SDK版本,本篇使用4.1,本篇撰寫時SDK已經有4.5版本,
若要使用最新版本,於adobe open Source中下載SDK,下載完後將其放至
Adobe Flash Builder 4\sdks目錄底下,然後選擇配置Flex SDK將其加入。
  • 建立locale文件夾,並於locale中建立en_USzh_TW兩個文件夾,這兩個文件夾將會各自置放properties的在地化資源檔,建立完之後目錄結構如下。

Flex Localization 在地化 閱讀筆記二:properties Local資源檔與其配置簡介

localization的資源檔
  • properties為副檔名。
  • properties資源檔內容是以key/value名值對來架構。
  • properties資源檔的編碼使用格式是UTF-8
  • 在資源檔中可以使用 ! 或是 # 符號來做為註解。
key/value表示方式
  • key = value
  • key : value
  • key value
sample:

#Localization resources in American Englist
Title=International Demo
language=American English

2011年1月11日 星期二

Flex Localization 在地化閱讀筆記一 Locale基本介紹

A locale is the combination of a language and a country code.
一個在地化表示,是由一個語言與國家所組成。

example, en_US refers to the English language as spoken in the United States.
例如en_US 就是 英語做為口頭語在美國。

簡單說就是  locale = 語言 + 國碼

一個環境區域中所用的貨幣、日期格式也都可能會有所不同。

在區域化的素材使用上,還可以包含音頻、圖像、視訊,讓應用程序能夠針對不同文化區域來給予不同素材來呈現使用。


有關Flex中使用在地化功能,請參考Flex4官方Help

2011年1月6日 星期四

Flex 程式效能簡易測試工具

最近離職後開始在整理自已做測試的小東西,因此順便把測試結果簡單重整成一個工具類,以下是一個簡單的程式執行效能測試類,不夠好或考量不夠的地方請大家多多指教~


//interface
package com.utils
{
 public interface ILoopTestTools
 {
  function startExecuteTestFunction():void
  function set testFunctionA(functin:Function):void;
  function set testFunctionB(functin:Function):void;
 }
}
//Class
package com.utils
{
 import flash.display.DisplayObject;
 import flash.events.IEventDispatcher;
 import flash.events.MouseEvent;
 import flash.utils.Timer;
 import flash.utils.getTimer;

 import mx.controls.TextArea;
 import mx.core.IButton;
 import mx.managers.IBrowserManager;

2011年1月5日 星期三

FlexDeep Link,Flex BrowserManager與IBrowserManager 測試

Flex有兩個可以管理「瀏覽器歷程的」的原生類,一個是BrowserManager一個是HistoryManager,搜尋過網路上資訊得知,現在大多以BowserManager為主HistoryManager已經少用,但是為什麼、是否需視不同狀況而用,目前本編不下結果,原因是還未做過HistoryManager的測試,待測試過後再來做個比較文章,因此本編著重於BrowserManager與IBrowserManager的應用測試。


/****
* 注意:測試時發現,使用SDK3.5運作不正常,用SDK 4,深層管理運作正常,問題還未查明。
* 參考文件 Adobe官方文件:
* http://help.adobe.com/zh_CN/AS3LCR/Flex_4.0/mx/managers/IBrowserManager.html
* http://help.adobe.com/zh_CN/AS3LCR/Flex_4.0/mx/managers/BrowserManager.html
*
* 主要用法:BrowserManager類只用來拿到實體,
*主要操作是藉由IBrowserManager介面來實現操作。
* */
//測試程式
<?xml version="1.0" encoding="utf-8"?>
 <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
         layout="absolute"
         historyManagementEnabled="false"
         creationComplete="startProcess()"
>
<!--
 BrowserManagerManager與historyManager同時間只能用一個,
 因此使用BrowserManager做深層管理時要將historyManagementEnabled設為flase
-->
 <mx:Script>
 <![CDATA[
   import mx.events.BrowserChangeEvent;
            import mx.managers.BrowserManager;
            import mx.managers.IBrowserManager;
            import mx.utils.ObjectUtil;
            import mx.utils.URLUtil;
   private var _IbrowserManager:IBrowserManager;
   private function startProcess():void
   {
    /*Step1.
     取得BrowserManager實體,BowserManager是一個獨體模式,
     因此使用getInstance取回運行環境中唯一的實體物件。
    */
    _IbrowserManager = BrowserManager.getInstance();

    //Step2. 初始化BrowserManager
    _IbrowserManager.init();

    //將Browser的各項屬性,呈現於From表單結構上
    updateValue();

    //對BrowserManager加上真聽式
    addListener();
   }