2013年7月10日 星期三

Sencha Touch 2 筆記

1. 安裝Sencha SDK需注意
a. Macbook OS 需要先俱備java,可以在終端機打入 "java -v"來安裝
b. 中文問題

安裝完之後需要對其做一些小的修改,以保證不會出現中文亂碼。
i) 打開安裝目錄,然後依次打開comp​​act/jsbuilder/src/文件夾,用文本編輯器打開該文件夾下的Project.js文件。
ii) 搜索“getCompressor”,將下一行的“java -jar”修改為“java -Dfile.encoding=UTF-8 -jar”,保存退出。

2. 程式注意:
Ext.Msg沒作用 (alert)
需要:
  requires: [
        'Ext.MessageBox'
    ],

    launch: function() { ...

3. Sencha SDK Tool: 可以給重頭到尾自己開發程式,自己編輯檔案使用。
程式撰寫完成後編輯命令:

sencha create jsb -a index.html -p app.jsb3
sencha build -p app.jsb3 -d .

4. 安裝 Sencha Cmd: 可以自動產生框架與目錄架構。
a. 安裝在 Sencha SDK Tools/bin 之下 (也許可以不需要 SDK Tool)
b. 記得把 Sencha SDK 的目錄放在 /Desktop 底下 (似乎是 Macbook 上的問題)
才可以在 SDK 目錄下使用 sencha app generate ..., 不然會出現 Workspace ... 的錯誤
==> 花了一星期才搞定這些問題
==> Sencha 官方網站也會誤導

5. 大問題:TextArea不能Scroll,中國網站有解法,重新定義一個Class:

Ext.define('Sai.view.TextArea', {
    extend: 'Ext.form.TextArea',
    xtype:'scrollTextArea',
   initialize: function() {
      this.callParent();
      this.element.dom.addEventListener(
         Ext.feature.has.Touch ? 'touchstart' : 'mousedown',
         this.handleTouchListener = Ext.bind(this.handleTouch, this),
         false);
      this.element.dom.addEventListener(
         Ext.feature.has.Touch ? 'touchmove' : 'mousemove',
         this.handleMoveListener = Ext.bind(this.handleMove, this),
         false);
      this.moveListenersAttached = true;
   },
   destroy: function() {
         if (this.moveListenersAttached) {
         this.moveListenersAttached = false;
         this.element.dom.removeEventListener(
            Ext.feature.has.Touch ? 'touchstart' : 'mousedown',
            this.handleTouchListener,
            false);
         this.element.dom.removeEventListener(
            Ext.feature.has.Touch ? 'touchmove' : 'mousemove',
            this.handleMoveListener,
            false);
         this.handleTouchListener = this.handleMoveListener = null;
      };
      this.callParent();
   },
   handleTouch: function(e) {
      this.lastY = e.pageY;
   },
      handleMove: function(e) {
          var textArea = e.target;
          var top = textArea.scrollTop <= 0;
          var bottom = textArea.scrollTop + textArea.clientHeight >= textArea.scrollHeight;
          var up = e.pageY > this.lastY;
          var down = e.pageY < this.lastY;
          this.lastY = e.pageY;
     
          if((top && up) || (bottom && down))    e.preventDefault();
      
          if(!(top && bottom))    e.stopPropagation();
      }
});



2013年2月5日 星期二

Mac OS 我的軟體清單

Macbook用了兩個多月
覺得還不錯,但要說比MS Windows好多少,我個人倒也不覺得
很多PC上好用的軟體,不見得在Mac上可以找到好的替代品
但因為用的是Retina,不論是質感或是螢幕,的確很棒
先把必要的軟體做個整理:

文書類:
MS Office 2011 (大部份可以使用iWorks取代)

影音類:
MPlayerX (Apple Store): 影片播放 (Free Video Player也不錯)
Audacity: Goldwave的替代品。下載點,輸出MP3需要再下載 LAME MP3編碼器
HandBrake: 轉檔工具
DVDFab: 轉DVD

工具類:
OpenCC: 簡繁轉換好工具
Sequel Pro: MySQL GUI Client
Sublime Text 2: UltraEditor 的替代工具
FreeFileSync: 簡單的檔案同步備份工具
The Unarchiver: 解壓縮
Scroll Reverser: 可設定滑鼠行為如同MS Windows
FileZilla: FTP
GoToMeeting: 多方視訊會議
Paragon NTFS Driver: 可讀寫NTFS formatted HD
Cinch: 像Win7一樣好用,可以將視窗左右平分
Paintbrush: 小畫家
FreeMind: MindMap

其他:
Skype
Line
Dropbox
Evernote
Google Drive
Picasa
Adobe Reader










2013年1月16日 星期三

老大的驚喜、老二的平淡

距離上次寫部落格已經整整半年了
由於家中老二的出生,在加上工作的超時加班
實在沒能有個心情好好寫篇文章

家中有兩個小孩,
說真的,的確老大小小的時候,發生什麼事情
或是有個什麼進展,都是很令人驚喜的
也因此,不論是文章,照片或是影片
都努力的紀錄
至於老二呢?
一方面因為工作繁忙,加上有個老大要照顧
感覺每天都在忙
弟弟的成長好像就這麼溜過了
會翻身了、會爬了、會坐了、會站了、會走了
好像都理所當然,就這樣發生了
雖然也會令人很開心,但就少了那麼一點驚喜
似乎平淡多了

最近工作時間可以調的比較好
應該要好好來觀察跟記錄家中弟弟的成長了 ^-^
相信弟弟也是會天天帶來爸爸媽媽的驚喜的