嘿我們認識十年了

不要說去年6月到這次聚會一眨眼就晃過去,大夥認識十年的事實更讓人想拿支菸說歲月不饒人啊 <( ̄ c ̄)y▂ξ

我想時間會過得這麼快,可能是大家都努力地朝自己的方向前進吧<( ̄︶ ̄)>

這次是幸福人妻豆豆媽主辦的福音園烤肉&饒河街食字路口,每次參加豆豆媽的活動都要讚嘆一下她辦活動的功力,我們這些混吃等死的連出張嘴都不用~只要帶著歡樂的心去玩耍就好XD

豆豆媽駕到

出遊是烤肉+慶生切蛋糕~根本是年輕人來著 ( ̄Q ̄)╯


二位可愛壽星╮(╯◇╰)╭口禾火~


才第一關...
我覺得我只能參加猜謎大賽或馬拉松,吃東西我真沒法度@_@


期待今年的採草莓,每年就是要有這種年輕人的活動,老身才不會凋零啊
掰掰2012

jQuery 1.6之後的.prop() vs .attr()

有寫網頁的應該都不陌生jQuery啦,關於1.6之後突破性的prop,請參考以下二篇好文嚕

jQuery 1.6.1上場救援,不用改寫attr()囉
● .prop() vs .attr()

其實老早就改用jQuery1.6.2,甚至有些專案已經直上1.7或更新版本,但一直都沒發現主要是開發時都愛用Firefox+firebug,IE是偶爾想到測一下,沒想到一個舊專案被我發現用IE 7會有偶爾無法透過attr正確展示RadioButton勾選狀態的情況,好險改動方式極簡單,直接改用prop~收工!

舊寫法
$('#myRadioButton').attr('checked', false);

新寫法
$('#myRadioButton').prop('checked', false);

'JSON' 未經定義

Web專案中即使引入正確的jQuery檔案,在IE 6、7運行時,還是會出現 'JSON' 未經定義的狀況,例如使用JSON.stringify或 JSON.parse都有可能。

最簡單的方式是,去github下載一個名為json2.js檔案,接著將其include至會報錯的html即可。

本來的JSON寫法都不用變,引入即可!

Calling RESTful web service on Android by AsyncTask

在Google搜尋"REST" & "Android"的介接方式不外乎是下面這篇文章的做法

Article : Android and REST
Link : http://www.majidkhosravi.com/android-rest/

不知為何照做都沒錯,實際運行時就是接不到RESTful web service(以下簡稱REST)。無奈問了同事也是類似的方式,頂多加了延遲的秒數,讓Android的執行緒可以等待REST  response而不會timeout,後來才發現是Android 3以上就不支援Android and REST作法,正確且符合Android多執行緒宗旨的做法應該是改用AnsyncTask

那又為什麼同事的可以,我的Android Application Project卻不行呢?!
因為我手癢把android:minSdkVersion調到超高,而同事的minSdkVersion向下支援到2.3所以可以運行無誤(菸)

以下來說明AnsyncTask如何實作

●  在\AndroidManifest.xml加權限
< uses-permission android:name="android.permission.INTERNET">

●  src按右鍵→New→Class
替Class取個名稱(Name),Package則選擇當下Project對應的Package Name


●  選擇Superclass
在前一畫面的Superclass點選Browser..按鈕,開啟Superclass Selection視窗

●  搜尋AsyncTask
在Choose Type的input textbox輸入AsyncTask,選擇android.jar提供的AsyncTask

●  產生Rest.java檔案
可以從檔案中觀察此class已經繼承AsyncTask(extends AsyncTask)

●  實作產生Rest.java檔案
定義Params、Progress、Result的型別,定義如下
Params:呼叫這支class時傳入的值
Progress:這支class運作時的進度
Result:class運作後產生的資料

Rest.java我希望設計成User傳入一個String類型的URL,回傳HttpEntity類型的資料,至於描述執行進度的Progress則不需要回傳任何值。
所以這三個重要的參數是這樣設計的
Params:String類型的URL
Progress:不需要執行進度
Result:HttpEntity類型的資料
所以最後的樣子是AsyncTask< String, Void, HttpEntity> 

利用Eclipse提供的quick fixes快速實作介面

將介接REST的程式碼撰寫於quick fixes產生的doInBackground

●  在Activity呼叫
最後這樣呼叫就好


Source not found ─ android.jar has no source attachement

此錯誤並非只發生於Android,當我們引入外部JAR來使用時,如果沒有指定好JAR的存放路徑,就會有Source not found ─ XXX.jar has no source attachement的錯誤資訊。


而這種錯誤通常發生在以下二種情況
●  Debug
●  觀看api的source code

這個錯誤不解決不會影響專案的建立,只是開發上很難去理解錯誤發生在哪,也無法深入理解你使用的外部JAR到底是怎麼運作的。

解決辦法如下
方法1:直接從出現錯誤的頁面去改
●  點選Attach Source...按鈕,出現Source Attachement Configuration

●  點選External Folder...按鈕,瀏覽至你使用的android.jar相對版本
例如使用version 4.2的SDK,那就要指向C:\Program Files (x86)\Android\android-sdk\sources\android-17

●  按下OK,大功告成!

方法2:修改外部JAR的Properties
●  對android.jar按右鍵選擇「Properties」


●  點選External Folder...按鈕,瀏覽至你使用的android.jar相對版本
例如使用version 4.2的SDK,那就要指向C:\Program Files (x86)\Android\android-sdk\sources\android-17


●  按下Apply,再按OK,大功告成!