總覺得該寫些什麼

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

專題

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文件編寫等。

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

總覺得該寫些什麼