2010年8月17日

[Android]建立Android Virtual Devices

1. 點選open the Android SDK and AVD Manager

2. 選 new 進行設定

3. 設定裝置名稱 ( 供自己識別 ) 、 SD 記憶卡容量 或   檔案路徑、螢幕預設解析度設定,設定完成點選Create AVD就完成模擬器的設置囉!


[Android]Android的環境建置

Android的環境建置包含了:
1.JDK的安裝
2.下載與使用Eclipse
3.安裝Eclipse的擴充套件ADT
4.下載並設定Android SDK

1.JDK的安裝

因為Android必須由Java語言來撰寫,所以我們要先安裝Java的開發套件(Java Development Kit, JDK)。
我們可以在Java的官方網站來下載JDK,
(1)滑鼠移到Downloads並點選Java for Developers

          
(2)選擇任一JDK版本進行Download
(目前已知JDK 6 Update 21在執行Eclipse上有一些小問題,詳見Eclipse官方說明)
          
          
(3)選擇作業系統版本、語言並勾選同意授權條款按下Continue 點選檔案名稱並下載
          
(4)安裝JDK,一直按下一步到最後
          
(5)最後是環境變數的設定
在「電腦」點選右鍵選內容,選擇「進階系統設定」,點選最下方的「環境變數按鈕」
          
選擇上方TEMP,在下方選擇Path並點選編輯,
          
打開之後,在變數的最後加上C:\glassfishv3\jdk\bin;C:\glassfishv3\jdk\lib;
(綠色的部分代表JDK安裝時的安裝路徑,如果有變更路徑就請更改綠色的部分)
          
設定完成之後需重新開機

2.下載並使用Eclipse

Eclipse官方網站下載Eclipse開發環境
(1)下載 Eclipse 時可以選擇Eclipse IDE for Java Developers或是Eclipse IDE for Java EE Developers這兩種。(因為只有這兩種版本才會安裝 Eclipse JDT 擴充套件),
此處為安裝3.6之範例
          
(2)下載完畢之後,解壓縮以後就可以直接使用不必進行安裝
 3.安裝Eclipse的擴充套件ADT(以3.6為例)
(1)若是第一次開啟Eclipse,會出現這樣的畫面
          
要求user輸入工作的目錄,您可以建立或選擇適合的工作目錄
(2)選擇Help裡面的Install New Software...
          
(3)點選ADD
          
(4)在name輸入ADT,Location輸入網址http://dl-ssl.google.com/android/eclipse/site.xml 
點選OK
          
(5)將Developr Tools打勾並點選Next進行軟體安裝
          
4.下載並設定Android SDK
     (1)在Android 官方網站點選SDK,選擇適合版本下載,下載完畢後解壓縮
          
     (2)點選Windows選擇Preferences
          
     (3)點選左方Android,在右邊的SDK Location選擇剛剛解壓縮的SDK所在地,按下Apply就完成SDK的設定了
          

2010年8月10日

[javascript]RegExp


RegExp(regular expression),指的是描述字元樣式的物件。
正規運算式常常以RegExp來表示,而正規運算式是由兩個斜線( / )中的字元所形成
例如:/s/指的是s字元


正規運算式的字元類別,
字元比對
[...]任一在方括號中的字元
例如:/[abc]/指的是比對a或b或c任何一個字元
[^...]任一不在方括號中的字元
例如:/[^abc]/比對a或b或c以外的字元
.除了換行或結束字元的所有字元
\w任意文字字元,等同於[a-zA-Z0-9_]
\W任意非文字字元,等同於[^a-zA-Z0-9_]
\s任意空白字元
例如:/\s/是比對所有空白字元
\d任意數字,等同於[0-9]
\D任意非數字,等同於[^0-9]


更多參考資料:
包含RegExp觀念及測試工具
投影片及大量範例

2010年7月13日

[jQuery]實作JQuery UI drag and drop





實作drag and drop:
將drag目標拖曳至drop目標時,內容會互換。
var $a_droppableObject,b_draggableObject_html,$b_droppableObject,a_draggableObject_html;

$('.drop').droppable({

scope:'sc',

torlerance:'pointer',

over:function(e,ui){

$(this).css('background-color', '#90F');

b_draggableObject_html = $(this).html();

$b_droppableObject =$(this);

},

out:function(e,ui){

$(this).css('background-color', '#FFC');



},

drop:function(e,ui){

$(this).css('background-color', '#FFF').siblings().css('background-color', '#FFC');

if(b_draggableObject_html!='' && a_draggableObject_html!='')

{

$b_droppableObject.html(a_draggableObject_html);

$a_droppableObject.html(b_draggableObject_html);

$a_droppableObject.children().removeClass().addClass('drag').draggable({

addClass:false,

revert:'invalid',

scope:'sc',

stack:".drag",

helper:'clone',

opacity:0.35,

start:function(e,ui){

a_draggableObject_html = $(this).parent().html();

$a_droppableObject = $(this).parent();

}//end of start

});

//end of draggable function

$b_droppableObject.children().removeClass().addClass('drag').draggable({

addClass:false,

revert:'invalid',

scope:'sc',

stack:".drag",

helper:'clone',

opacity:0.35,

start:function(e,ui){

a_draggableObject_html = $(this).parent().html();

$a_droppableObject = $(this).parent();

}//end of start

});

//end of draggable function



//remove clone object

$b_droppableObject.children().each(function(){
if($(this).css('opacity')==0.35)

$(this).remove();

});
$b_droppableObject=null;

$a_droppableObject=null;

b_draggableObject_html='';

a_draggableObject_html='';

}//end if function
}

});

$('.drag').draggable({

addClass:false,

revert:'invalid',

scope:'sc',

stack:".drag",

helper:'clone',

opacity:0.35,

start:function(e,ui){

a_draggableObject_html = $(this).parent().html();

$a_droppableObject = $(this).parent();

}//end of start

});

2010年7月6日

[javascript]判斷數字/非數字



判斷數字

()
判斷一個數字是否為有限的
[用法]
isFinite(n)
[參數]
n 要檢測的數字
[傳回值]
true 如果n是有限數字(或者可以轉換成有限數字)
false 如果n是非數字(NaN),或是正、負無窮大的數

判斷非數字

()
檢測非數字值
[用法]
isNaN(x)
[參數]
x 要檢測的值
[傳回值]
true 如果x是特殊的非數字值(或者能被轉成這樣的值)
false x傳回是其他值