中國上海四天三夜

3 月中的時候到上海待了四天三夜,來紀錄一下這幾天的感受。推薦行程在網路上應該可以查到很多,所以不細寫行程,會紀錄發生的一些事情跟感想。

食物

先分享上海的食物,在網路上搜尋的話,應該會發現很多小籠包、煎包之類的店,這幾天吃過了幾家分別有:

南翔饅頭店

南翔饅頭店

在豫園附近的南翔饅頭店,可以「打包」(臺灣用語:外帶)與內用,當天排隊很長,我們選擇外帶,在點餐的時候,有分結帳、取餐的窗口,結帳的店員會敲打窗戶旁邊,感覺會像是叫客人快點餐、付錢,感受蠻差的。

點了蟹黃灌湯包、鮮肉小籠,自己比較喜歡第一個蟹黃灌湯包,是吸管插在包子內,吸裡面的湯汁,第二個沒那麼喜歡是因為,在上海吃包子蠻多人會加醋,完全沒辦法接受當地醋的味道。 繼續閱讀 “中國上海四天三夜”

中國上海四天三夜

開源的 IndicatorBarView-Android UI 元件

專案網址:https://github.com/ymhuang0808/IndicatorBarView-Android

授權:Apache License Version 2.0

為什麼開發?

這是自己的第一個 Android 開源專案,會建立這一個專案是因為自己的另外一個開源專案要用到數值指針的 UI component (謎之音:那個專案還躺在電腦中…),簡單說有點像溫度計,但是,沒有找到合適的 component。想了之後,先把這個 UI component 先開源出來好了,不過,還有蠻多事情還沒完成的 (請看 TODO),只是開源出來,能逼自己快點把這個專案弄得更成熟,或許也有更厲害的人能貢獻,這樣就自己不用寫太多了 (誤)

躺了超久的專案

如果去看 commit log 的話,會發現從 2016 年 08 月底就在動了,過了半年才有個雛形 (都已經從 Android 7.0 到 7.1.1 了)。

記得大學時候的專題,還一度想自己寫 Android 的 custom view,但是當初對 Android、Java 的熟捻程度還不夠,一直沒踏出第一步。寫 custom view 自己覺得還蠻苦的 XDD,尤其是 debug 的時候,經常遇到 Canvas, Paint 有執行,但是在 App 中就是沒出現,後來才發現,經常是 Canvas 指定的 x, y 值超出螢幕視線外,還有是 Paint 的顏色是白色 (因為背景是白的呀… 倒)。

BTW,如果有興趣開發 Android custom view 的開發者,推薦可以去觀看 Droidcon NYC 2016 – Measure, Layout, Draw, Repeat: Custom Views and ViewGroups,影片中提到蠻多開發 custom view 需要注意到的事項,會讓自己對 custom view 有更多的認識。

開源的 IndicatorBarView-Android UI 元件

Git Fast-forward Merge

IMG_20150327_103310

前一陣子,在 twitter 上看到 GitHub 在三月份要來臺灣做教育推廣,剛好中研院資訊所有老師在 03/23 也有邀請 GitHub 來演講。

03/23 當天是 GitHub 員工 John Britton 擔任講者,主要是介紹 Git 、GitHub 使用,自己雖然開發會用 Git 來管理程式碼,但是只對操作上比較熟悉,在整個演講中,又重新了解一些 Git 運作方式,收穫蠻多的,剛好也有人問到一個 Fast-forward 的問題,當下並沒有很清楚了解,因為,演講完之後,有 GitHub 貼紙可以拿,拿到貼紙之後,回到辦公室其實已經忘記了 XD,還好同事有問我知不知道 Fast-forward,立馬在辦公室就找了一下資料。

繼續閱讀 “Git Fast-forward Merge”

Git Fast-forward Merge

寫了一個App – 臺灣燈會在南投

臺灣燈會在南投

今年臺灣燈會辦在南投,原本去年底就想開始寫,那時候還不知道有什麼功能可以做,直到看了南投縣政府的官網出來後才花了一些時間寫(官網用CodeIgniter 做的樣子),最後利用Google Map API 做出了燈會地圖,希望不要有太多bug 就FC 啊…有的話請麻煩回報一下,有建議可以告訴我,在文章、Goolge Play 評論留言或者mail 給我 ym.huang0808 [at] gmail.com,測試的環境就有我的手機Nexus 5…,沒有平板能做測試(差點衝去買一個Nexus 7…)。

繼續閱讀 “寫了一個App – 臺灣燈會在南投”

寫了一個App – 臺灣燈會在南投

2013 TiC100 學習及獲得哪些

2013TiC100

最近要開始改履歷了,所以就利用部落格來回想一下參加2013 TiC100的過程。

動機

距離去年(2013)的TiC100 也有半年多的時間,從一開始看到學校研發處發的email,用Google 搜尋到Youtube 上的2012 年冠軍team 總決賽影片(參考此連結),當下覺得可以完成一個東西真棒!

來自不同系的組員

在報名前,因為有些人有畢業後的工作,組員變動了不少次,最後我們由五個人組成了CPU,組員來自不同背景包括企管、電機、景觀、資管,在一開始的履歷審核與議題配對就發現到不同系的人會有不同的溝通語言與思考邏輯。

主辦單位議題配對出來後會舉辦議題說明會,在說明會前,與Dani 老師開會時,提醒我們要好好的了解選到的議題內容,因為不是每個組員對物聯網(IoT)、RFID、ZigBee、商業模式(BM)等有概念,每個人針對自己擅長的部分跟大家做分享。當天在研華公司的議題說明會時,大家都發現到對議題owner 在說明、講解的技術應用與用詞會更加了解。

2013 TiC100 議題說明
RFID 應用

 

 

 

 

 

 

 

 

 

溝通是最大的無形成本

組員們一開始都是沒合作過也互相不認識,大部分meeting 時,會從A 方向討論到C、D、E 方向,大家的想法都不同,所以幾乎meeting 都是要2~3小時以上,在某一次meeting 時,有發現到一個做法還不錯,要專注在單一方向實際上不太可能,可以利用大張一點的紙或白板記錄下討論過或者還沒討論完的內容,能記越詳細越好,這樣能避免討論到E 方向時,要跳回A 時又要重新來過(這跟stack很像)。

繼續閱讀 “2013 TiC100 學習及獲得哪些”

2013 TiC100 學習及獲得哪些

Google Nexus 4 開箱文

12/22號晚上的時候,接到幫我代購Nexus 4的賣家通知已經出貨了,賣家本來預計是24或25出貨,能提早出貨太爽了!不過要抱怨的是,因為是利用郵局將貨品寄到學校,賣家有給我包裹追蹤號碼,不過發現郵局的包裹追蹤查詢網頁更新頻率很慢,明明23號早上六點就到了台中港郵局,我卻到快中午十一點才看到。在24號拿到了包裹,跟大家分享開箱文。

一、外觀

要開始猜包裹了
要開始拆包裹了

 

nexus 4開箱
Nexus 4 背面外包裝
外包裝正面
外包裝正面

繼續閱讀 “Google Nexus 4 開箱文”

Google Nexus 4 開箱文

總覺得該寫些什麼

好久沒發文了,距離上次發文已經一年了,總覺得該為這一年記錄下些什麼。

專題

11月中專題終於告一段落,最後的結果雖然不盡理想,但自己卻頗有收穫,不管對於Android App開發或者專案開發或者團隊合作及分工上面,我們也將開發出來的App上架在Google Play。

在整個專題的過程,從一開始的熟悉Java語法到Android SDK,我們都靠著自己自學、上網找資料到最後的幾個月才進行開發,開發過程中跌跌撞撞,現在想起來並沒有很周全的計畫及思考,最先完成的是課表功能,利用到學校e校園服務網解析HTML tag來擷取到課表,儲存到SQLite中,讓使用者能夠在手機上查看課表,也能使手機在上課中自動開啟靜音,這是一開始最初的想法,其中遇到幾個難題是登入e校園服務網的部分,這部分利用到HTTP方式將值帶入form中利用HTTP POST method達成,並且儲存了cookie到課表頁面,靜音的部分差點做到一半想放棄了,因為對Android中的AlaramManger及PendingIntent不是很熟,所以一直卡住,尤其是在PendingIntent的getBoroadcast() method,當初看書及網路上的資料都把requestCode設為1或0,但是這卻造成靜音的部分只能夠成功一次,可是利用LogCat查看程式都有設定每個上課及下課時間,最後才試出來requestCode在每個設定要唯一。

另外一個功能是WiFi登入,原本的構思是要當使用者在學校開啟WiFi將可以自動在背景登入WiFi連上網,最初想說一樣利用HTTP POST認證網頁達成,沒想到認證網頁的submit是利用JavaScript觸發事件,所以利用HttpPost類別無法成功,查了StackOverflow有人利用HtmlUnit完成,可是在中間遇到一些Class連結不到的問題也試著很多方式解決都無法成功,所以放棄了HtmlUnit,在這之前組長一直說利用WebView去完成,但是因為WebView要跑UI出來才能,這是最後一個方法,沒想到還是利用WebView去完成,WebView能執行JavaScript,我們不呈現出認證網頁,而是顯示認證訊息,結果雖然與預期的不同,需要開啟App後才能進行認證,不是與原本的想法利用Service在背景認證。

專題中,與組員們有時候會鬧的不愉快,但是最後都能大家講開,自己也體會到一點,有些事情是不能強求,也不是會照自己所想的去進行,或許有時候能退一步去想,依照每個人興趣、擅長的部份去分配,像開發出了App,除了需要用到技術面的程式之外,也需要進行行銷等。我們也有對程式碼利用SVN 來進行版本控制,最近也利用Trac來進行issue track與Wiki文件編寫等。

繼續閱讀 “總覺得該寫些什麼”

總覺得該寫些什麼