在Activity中產生一個thread處理資料的時候,當遇到這個資料要回去更新Activity畫面上的UI元件時,會發生 android.view.ViewRoot$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views 這樣的錯誤。

這個問題弄了好久,試了幾個方法都不能處理掉,還email給"Android開發範例大全"的作者(昨天寄的,現在還沒有得到回應),結果其實很簡單,是要用android.os.Handler配合android.os.Message來處理。但也許這在android開發是一般常識,不過因為我們學習的方法,並沒有從基本原理學起,而是直接看許多範例程式,才會不知道要怎麼讓Model跟View互動。

在Activity中自訂一個Handler: myViewUpdateHandler

yaocl 發表在 痞客邦 留言(0) 人氣()

最近買了好幾個board game給小朋友玩,第一個買的是魔法迷宮 Master Labyrinth,這也是來自德國的遊戲,在 【桌上遊戲】奇幻迷宮 Amazing Labyrinth 這篇文章中,詳細地介紹了玩法。

但我們買到後,因為計算分數跟取任務卡我覺得太麻煩了,小朋友也不是很瞭解任務是什麼,所以並沒有照著說明書的方法玩,我們就單純地把迷宮放上去,1~20與25號共21個圓形材料放上去,然後就開始玩了,迷宮的推法跟走法都一樣,但大家得按照材料卡的數字順序,一個一個拿,最後就比誰拿到的材料卡多。

其實這樣就可以有些變化了,一開始我們玩推完迷宮卡後,就只能夠取得一個材料卡,然後就得停下來,後來就玩推完迷宮卡後,可以連續取得材料卡,只要能走得到的地方都能拿。

yaocl 發表在 痞客邦 留言(0) 人氣()

Masks Blend Modes Graphics Filters 這三篇文章討論圖形的基本處理,配合Using filters in Flex 這篇文章,我們可以用程式對 DisplayObject 套上一些特效。

對一個UI元件,可以用繼承自 DisplayObject 的 filters Array 填上多個 filter classes,包含 DropShadowFilter(加上陰影), GlowFilter(顏色像墨水暈開的樣子,呈現在元件的外框上), and BlurFilter(模糊), BevelFilter(將元件以九宮格的方式切割後,分別給以不同的顏色或陰影,讓元件更有立體感),這些filter 都能用在所有 DisplayObejct 的子類別上,包含MovieClip, SimpleButton, TextField, Video objects, BitmapData。

另外有個ShaderFilter,可以即時下載 pbj 濾鏡檔案,並將該檔案的ByteArray資料轉換成ShaderFilter,就能讓照片有水波紋的效果,以這篇文章為例 Pixel Bender,可以使用Pixel Bender 的功能,自己寫濾鏡。

yaocl 發表在 痞客邦 留言(0) 人氣()

神秘島出版於一八七四年,比艾西莫夫早了一百年,在還那個工業革命的時代裡,凡爾納將煉鋼、化學反應與熱氣球這些先進的技術寫到小說裡面,透過工程師賽勒斯,把所有技術實現出來。

這本書唯一看到的反派角色,只有一艘曇花一現的海盜船,這裡面還有六個逃往森林裡的海盜,其他的部份,就是五個人+一隻狗+一隻猩猩,互相幫助解決問題,後來還拯救了被放逐在塔波島的海盜愛爾迪,還有海底兩萬里的尼莫船長。

說真的情節有點悶,不夠緊湊,還有這幾個「移民」,一直撿到一些特別的,沒辦法製造出來的東西,例如槍枝,在我個人看起來,其實是有些突兀,雖然這本書最令人津津樂道的,就是「移民」能徒手以自己的知識,就地取材製造出自己所需要的東西,而且這幾個人之間,完全沒有猜忌也少有爭執,不同職業的他們,都能以工程師為核心而各司其職。如果真讓賽勒斯還能直接土法做出槍枝來,可能就太誇張了。

yaocl 發表在 痞客邦 留言(0) 人氣()

要產生Process執行command line程式,在java裡面是使用Runtime.exec,在JDK 1.5之後出現了另一個 ProcessBuilder,ProcessBuilder多了管理環境變數的方法,也能切換工作目錄。一般使用Runtime Process會先遇到IO Blocking的問題,這個可以參考這些文章:When Runtime.exec() won'tjava中呼叫.bat 卻沒有反應....StreamGobbler的詳細解釋,使用 StreamGobbler 解決。但另外遇到 shell command 裡面的保留字元時,就會產生了一些奇怪的問題。

最常見的就是空白字元,例如在命令的執行路徑上,出現了空白字元,以 windows 來說,如果直接在"命令提示字元"中,打上 c:\Program Files\xxx\xxx.exe,就會出現路徑的錯誤,因為shell沒辦法處理有空白字元的路徑,所以要執行的時候,就得加上 雙引號 變成 "c:\Program Files\xxx\xxx.exe",這樣就可以執行了。

在Linux環境也是一樣的,遇到空白字元,就會發生問題,除了用 雙引號的方法之外,單引號也可以,或是加上escape char \,例如 /home/root/bin/xx x.sh ,可以改成 "/home/root/bin/xx x.sh" 或是 '/home/root/bin/xx x.sh' 或是在空白前面加上escape char /home/root/bin/xx\ x.sh 就可以執行了。

yaocl 發表在 痞客邦 留言(0) 人氣()

這本書是因為看了模仿犯之後,才去買來看的,這是模仿犯2001年得獎作品的前作,是在1999年得到直木獎。但老實說,看這本書的時候,並沒有看模仿犯急著想要看完的感覺,反而是硬逼著自己把他看完的。

原因在於白描的方式,又完全沒有推理的成份,我並沒有期待想看到結局的感覺,這樣的描述方式,跟我常常閱讀的科幻小說,是完全不一樣的。也跟模仿犯不同,因為在模仿犯裡,我會急著想知道和平是怎麼被抓的,在理由裡面,我卻不在意,石田直澄會怎麼落網。這兩種完全不一樣的感覺,

這本書越到後面的寫法,是以記者採訪當事者,然後當事者現身說法,描述當時發生的事情,由當事者自己描述自己的心境。許多評論都說,這是宮部美幸作品的特色,因為他能精準地描寫事件的發生,對每一個人的影響,還有每一個人的看法,看過作品之後,確實如此。

yaocl 發表在 痞客邦 留言(0) 人氣()

寫程式的時候,通常會使用很多 library ,但是一旦遇到要把程式以 JNLP 的方式,送到client端的時候,產生jar的大小就很重要了,以LGPL license來看,我們的程式可以連結到LGPL license的library,我們不一定要以一個一個獨立的jar來散佈library,我們可以把所有classes集合在一個jar檔裡面,只要我們沒有修改到原始程式,就應該符合license的規定。

所以我們可以把程式沒有使用到的 binary classes 都去掉,Open Source 授權的關係,我們不修改 library 原始程式,不使用obfuscator,但也能達到縮小 jar 的目的。

首先要準備一個 使用到的 classlist 檔案,在執行程式的時候,加上 -verbose:class 參數,ex: java -verbose: Test ,把結果輸出到一個 classlist.txt 檔案檔案裡面會有類似這樣的資料,這就表示JVM從commons-logging-1.1.1.jar裡面載入了一個 class org.apache.commons.logging.LogConfigurationException。

yaocl 發表在 痞客邦 留言(0) 人氣()

上集花了一週,下集只花了三天就看完了,原因是我看著看著,就急著想要知道最後的結果是什麼,到底和平是怎麼被抓到的。

不同於對其他人內心的詳細描寫,作者並沒有直接撰寫網川浩一 (和平)的內心世界,反而是藉由其他人的描寫,讓讀著以旁觀者的身份,瞭解這個自大的殺人犯,對和平來說,這是他精心策劃的舞台,每一次的轉折,都是由他設計導演,所有人都得按照他的劇本來表演。

雖然有時候會出現突發的狀況,但和平都能冷靜地思考,並判斷下一步,所有人該怎麼走位。遇到了有馬義男,跟塚田真一,著實讓和平有點難以應付,因為他們不像是由美子,那麼單純容易掌握。但他們兩位都是受害者,倖存下來的人,常常會自責到讓自己無法面對自己,這也是他們的弱點。受害者跟加害者兩邊倖存的家人,也是和平操控情勢的利器。

yaocl 發表在 痞客邦 留言(0) 人氣()

因為我是網路訂購的,剛拿到這本書的時候,真的嚇了一跳,怎麼會有這麼厚的小說,不過有先看過評語,都說這位作家非常擅長寫故事,除了得獎之外,還有「國民作家」的頭銜,上下兩本書加起來總共一千三百多頁,我一開始就在懷疑,我到底要花多久的時間才能看完。

目前花了一週的時間,就把上集事件之卷讀完,作者真的非常會講故事,但我覺得更貼切的說法是,作者非常擅長描寫每一位出場人物「瞬間的雜念」,因為我自己也常常會在心裡產生許多短暫的、臨時的想法與動念,善意的就像是靈光一現的idea,會趕緊用筆記錄下來,但也會有惡意的,那些就會馬上在心裡拿起板擦抹去。

以往看過的小說人物,大多個性鮮明,說話與動作都很直接,但這本書寫法的不同,而是細膩地描寫當事人的所有「突然」的想法,所有的猜測,反反覆覆地,而且每一個人都會在心裡作不同程度的推理,有時候作者還會點明,受害者如果注意某個東西,或是換成某一種想法,可能就會發現犯人的惡行,自然能趨吉避凶。

yaocl 發表在 痞客邦 留言(0) 人氣()

傾聽
領導(leadership): 一種用來影響別人的技能,能讓他們全心投入,為達成共同目標奮戰不懈。
威權(power): 一種能力,利用你的地位,罔顧別人的意願,強迫他們照著你的決心行事。
威信(authority): 一種技能,運用影響力,讓別人心甘情願地照著你的決心行事。
顧客 - 夥伴 - 組長 - 中階經理 - 副總裁 - 執行長

yaocl 發表在 痞客邦 留言(0) 人氣()