發表文章

目前顯示的是 10月, 2011的文章

在App中讀取Windows Phone 7手機內的音樂資源(Music Hub整合)

圖片
前陣子WP7 Marketplace當中有一隻HTC推出的免費App挺有趣,可以在App當中抓取顯示並撥放手機上的多媒體資源,諸如音樂檔案或是影片,先前我們在討論Silverlight開發技術的時候,並沒有看到API裡面有可以抓取到手機音樂的指令,第一次看到的時候著時讓我有些好奇,找了一下MSDN資料發現難怪之前沒看到,原來是出現在XNA這個Namespace底下。 我們可以透過底下的指令找到手機上的所有多媒體檔案: void MainPage_Loaded(object sender, RoutedEventArgs e) { //透過Xna抓取手機上的音樂 Microsoft.Xna.Framework.Media.MediaLibrary lib = new Microsoft.Xna.Framework.Media.MediaLibrary(); //Binding到ListBox上 this.ListBox1.ItemsSource = lib.Songs; } 當然,由於屬於XNA Framework的部分,請在使用前先在專案中Add Reference:  加入 Microsoft.Xna.framework ,接著即可使用前述的指令碼抓取到資料,如果你要像上述程式碼一樣把樂曲 Binding 到 ListBox 物件上,必須先幫 ListBox 設計 Template : 然後將此Template使用在ListBox上: 如此一來就可以在自己開發的App中,呈現出手機上呈現出每一首歌的名稱,以及演唱者與專輯名稱: 由於Silverlight的DataBinding技術,在listBox當中每一首點選的曲子,可透過底下的方式抓取到,甚至可以透過底下的程式碼,撥放選取的Item: private void button1_Click(object sender, RoutedEventArgs e) { if (this.ListBox1.SelectedItem == null) return; //取得選取的樂曲 Microsoft.Xna.Framewo...

關於雲端運算

圖片
[引言]這一篇,是幾個月之前應邀寫的一篇討論雲端運算的文章的原稿,因為篇幅的關係,這篇文章在刊出的時候做了相當大程度的刪減,幾個月過去了,重新看到,只貼在blog給有興趣的朋友...另外,這一篇並沒有試圖為雲端運算下定義,因為定義可以從NIST找到 http://www.nist.gov/itl/cloud/  這篇只是說明我們對雲端運算的一些規劃與想法...    從虛無飄渺到豁然開朗         前陣子受邀到某教育訓練中心上課,剛好學員前一堂課的講題是雲端運算,看到學員臉色頗為疲倦,不禁好奇早上的講師是否塞給大夥太多內容而造成學員壓力。因為這個班下午我得要接續著上課,所以不免關切地問了學員一聲:『早上雲端課程上的如何啊?』         沒想到不問還好,這一問之下,學員七嘴八舌地聊了開來,有個年長的學員用八個字做了總結:『虛無飄渺,無邊無際』。由於學員先前都沒有接觸過相關的概念,聽起來雲端運算好像很厲害,無所不能,但從講師的介紹中,又分不太出現在所謂的雲端運算和傳統的虛擬主機、主機代管、或網路服務有何不同,看起來像是過去我們說的SOA(Service-Oriented Architecture)的一種延伸,又像是ASP(Application Services Provider)的一種變形,那到底雲端是什麼? 早上一整個課程上下來,學員似乎還是摸不著頭緒…         其實這個話題,得要從20年前開始說起… 二十年前的夢想         約莫在15年前,Bill Gates出版了一本頗為引人關注的書籍『THE ROAD AHEAD』,清楚地闡述了他早在1990年11月於Comdex中所發表 - 主題為『Information At Your Fingertips』的演講,20年後的今天,你可以看到Bill Gates對未來描述的精準先見。        ...

台灣的軟體人才在哪裡?

圖片
        最近,政府舉辦了不少的App設計比賽,大概是看到了芬蘭在沒了Nokia作手機界的霸主之後,居然還可以有一個能撐住半邊天的紅色小鳥,回頭想想台灣雙A品牌在小筆電上碰到的挫折,又環顧了一下過去幫台灣掙錢的代工產業前景茫茫,想說反正比起花在兩兆雙星上的銀兩,辦些個App比賽只是九牛一毛,搞個不好給他異軍突起,成為未來的一條生路...不知道是不是因為這樣,所以最近常常聽到各式各樣的App新聞,甚至也有跟前陣子雲端綁在一起炒的,不管如何,至少這個產業似乎被推廣開了,只要有動作,我都認為是好事...         但是前陣子跑了不少學校,並且和業界一些前輩們聊天,大家都有一個一樣的感慨,台灣的軟體人才真的越來越少了。雖然學校的科系開的琳琅滿目,從遊戲開發到機器人設計都有,各樣五花八門的學科讓人目不暇給,但是同學畢業之後,真的在職場上撐在那裡寫程式的,能有多少?         我不用算也知道,因為部落格會說話,全台灣軟體相關部落格一個月的點擊率加起來,能不能打敗教人化妝的部落格,或是隨便一個所謂的人氣美少女外拍部落格,不用我說大家也知道。前陣子流行金釵文化,一些大學的資工系學生寧願當Model走演藝路線,也不願意坐在辦公室寫程式,雖然我不知道人家在學校的成績怎麼樣,但我想就算人家小姐C++寫得很好,java駕輕就熟,畢業之後當Model或藝人大概還是比較划算,隨便一個主持通告比我們這些所謂講師的鐘點還要高,人家不願意自甘墮落寫程式,我也就不那麼在意了...         但是這凸顯出一個很有趣的落差,台灣很多軟體公司的開發人員其實不在台灣(這大家都知道),而台灣土生土長的程式設計師,薪資結構上也並沒有比其他行業要來得高(這邊先不論畢業生的技術能力如何),程式設計師薪資低,工時長,只有乍看之下很高檔的社會地位(因為以前大家都以為程式設計師是科技新貴,後來才慢慢發現搞錯了,那是指製造業寫韌體的),結果不僅台北市的房子買不起,連台北郊區的也很拚...這時候,能留住所謂的人才才真的...

[VS2010]在Build時自動update專案版本

圖片
最近比較多開發WP7的Apps, 每一個App都不大,但是版本編號(Build Number)的建立卻很重要,因為我時常在submit同一支卻不同版本的Apps。而公司最近的雲端運算開發平台上的Apps也有這個問題,每一個App其實都是一個小功能,更新的頻率非常高,因此常常需要讓User再回報問題的時候,提供Build Number給我們,才比較容易區分是哪一個版本的App。 開發團隊的新成員問到,如何在每一個build自動update版本編號? 我記得有一個工具,叫做Build Version Increment Add-In Visual Studio, 可以從底下這個位置下載: http://autobuildversion.codeplex.com/releases/view/60932#DownloadId=208247 用起來很簡單方便,安裝後只需要在VS2010的主選單上按下Tools->Build Version Increment->Settings: 即可進入設定畫面:  主要是上述幾個項目,設定完成之後,每一次Build時的版本編號就可以自動依照規則遞增了。你也可以透過 Assembly.GetExecutingAssembly().FullName.Split(',')[1] 抓取到當前App的XAP版本, 提供給Developer參考... 更詳細的使用說明可以參考這裡: http://autobuildversion.codeplex.com/documentation 分享

追悼賈伯斯

圖片
寫在一個多月前,賈伯斯辭職時 ...