知識社群Login
Android APP專題名稱:電磁王
by 艾鍗學院, 2012-05-03 18:57, Views(5617)
專題報告

專題名稱:電磁王

本專題入圍2012台灣三星APP競賽(Samsung Apps Contest)決賽


組員介紹

組長:游士宏

組員:林聖傑、呂俊彥、戴銘宗、吳哲文



一、系統緣起與目的

電磁波輻射能量較低,不會使物質發生游離現象,也不會直接破壞環境物質,但其電磁干擾特性卻不可掉以輕心。感到疲勞、眼睛疲倦、肩痛、頭痛、想睡、不安,都可能是受了電磁波的影響。電磁波還會使人的免疫機能下降、人體中的鈣質減少,並引致異常生產、流產、視覺障礙、阻礙細胞分裂如癌、白血病、腦腫瘤等等問題。(環境醫學-科技圖書出版)

因此,偵測生活環境的電磁波是否達到危害人體的標準是一重要的課題。承前,市面上雖有多數可偵測電磁波器材,但礙於我國政府並未明確訂定出所有電器電磁波安全標準,再者,市面上多數偵測器材與偵測程式僅標示出電磁波強度,而未相對列出是否高於標準,致使一般不具相關知識的使用者雖知道數值卻難以判讀該數值所代表之意義,使用上難謂其具有方便性可言,本於所見及所得的設計概念,是故本組致力於相對方便使用性之程式架構。

二、使用案例(Use Case)

三、 系統架構或類別圖(Class Diagram)

四、狀態圖(State Machine Diagram)

五、 使用到的技術與架構

1.演算法

(1) 磁場感測器-含三軸磁場向量轉換為毫高斯值之演算法

2.GreenDroid套件整合與使用

3.多執行緒導入

4.Service服務使用

5.Canvas元件- 繪製波動圖與最高靜磁場方向

6.自訂AndroidLayout底色XML

7.Android TextView 顯示及變更

8.Android Button 元件使用

9.自訂ProgressBar 型態及顏色

10.Image圖片處理( 顯示及置換)


六、 分析階段的App系統草圖與流程概述

以下為使用者在使用上的UI執行流程,在分析階段先以草圖擬定系統的功能流程。

簡圖


七、實際App系統與UI畫面

進入App後於主選單內依據使用便利性區分為簡易模式 / 即時模式 / 專業模式。


使用說明內有著簡易 / 即時判斷 / 專業 等三種模式的說明和本 App的操作方式介紹


本模式期望兼顧簡便與易用,對象為一般使用者,使用者可依據不同電磁波偵測狀態與文字描述得知目前環境的電磁波強度。


若為安全標準內,燈號顏色為綠色,並顯示安全範圍


若電磁波超過標準, App會依據超出標準的數值改變燈泡的顏色為黃色或是紅色

即時模式會量化目前偵測的電池波數值 , 以箭頭符號提示電磁波方向來源


專業模式在偵測前可依據不同國家的標準值,與量測時間做設定

啟動專業模式後, App根據設定的時間內收集電磁波資訊,並依據時間軸畫出線型圖,以表達電磁波強度


八、成果

1.本專題參賽 2012 四月,三星舉辦的 App競賽入圍決賽

圖片1.png


2. 另有一在這專題過程中開發的App成果

關聖帝君靈籤─排除其他籤詩APP秀動畫等方式表現,改以符合正規求籤方式寫作,以期更問事能更精準


九、 心得感想


 

游士宏:

在這三個月的時間,學習時間相當緊湊相對的也非常充實,因過去接觸過其他程式語言在學習上多有助益,Android 程式寫作的技巧與實務在本次的課程中實獲嶄新的技巧與經驗。

於艾鍗期間除學習到基本Android App 撰寫方式外,艾鍗的老師們亦時常耳提面命於撰寫需要注意的許多小技巧與整合Library,對於過去把程式撰寫作為休憩時娛樂的敝人而言,實可謂獲益匪淺。

於課程中,偶然獲知三星舉辦Android APP 競賽,或因初生之犢之故,在當時完全無經驗的情況下報名參賽,在程式撰寫期間雖多有疑問,所幸多利用與參賽同仁間的研討與合作,多數疑問都能迎刃而解,再加上三星評審團的錯愛,有幸能於參賽近百組中獲選入圍。

在專題製作中擔任組長,製作期間再次加強工作分配與引導組員達成目標的技能,本次專題於課程專題期限前兩星期便告完成,並著手於其他組員原提出駁回之專題方案的製作,以期能於在未來撰寫專案時在撰寫技巧能夠更加精進。


 

 

林聖傑:

這三個月的時間雖然不長,可是對於我來說,真的很辛苦,也很充實,從完全不懂Java ,一直到來到艾鍗上專業的Android課程,再到我們的專題的完成,雖然我們的專題或許是個小小的專案,但是在這整個過程中,讓我知道原來要完成一個專案原來是這樣的不容易,從一開始的發想,到確定要做什麼,到過程中遇到的種種問題,都是要想辦法去解決,對於我來說,其實是在學習如果找方法去解決所遇到的問題,當然團隊裡大家的分工合作也是很重要的一環,我們的專題是利用Sensor 的感測器做一個電磁的偵測,雖然功能不多,看起來也不是很困難,但是對於我們來說,大家可以親手完成一個小小的專案,我已經很滿足了,我負責的部份雖然只有一個 Activity ,但是在ProgressBar要依照Sensor 所感測到的電磁值,來做同步動態改變進度條長度的長短,還有要改變 ProgressBar 的顏色方面,都讓我卡了幾天,後來自己在網路上找資訊以及在老師的協助下,利用了 Thread 解決了同步動態顯示長短的問題,以及利用自己建立一個 xml 檔,先把顏色樣式寫好,再直接 set 在ProgressBar上,解決了顏色變化的問題。

最後要非常謝謝Jarey 以及Kevin老師,教的非常好也很有耐心的幫我們解決問題,雖然很多上課的東西還不是非常熟悉,但是對於一個連Java 都是兩個月前才接觸的我來說,已經是學到很多很多了,我想如果我有程式底子的話,一定能把老師所給予,再吸收的更多。


戴銘宗:

以本專題一開始在職訓中心時團隊就選擇好了題目, 到了艾鍗大家完全進入android的課程學習當中,首先學到整個android的基礎四大元件,一步一步從頭開始,activity、content provider、braodcast/Receiver、service等等,到整個framework 的框架的了解與應用.

以技術類來說整合了sensor 應用,使用了基礎的activity內的元件及activity 間的intent, 到surfaceview的繪圖應用, 及canvas快速繪圖運用,甚至加入第三方套件完成了android2.3版沒有的actionbar 使用達成UI完整的操作並且更了解如何運用第三方套件(如greendroid)以節省開發時間.這對以後開發專案會有極大的助益.

在開發的過程中老師亦加入了資源的搜尋,問題的解決方法等技巧,實際adapter的建立與運用, 在專題方面也學習了系統分析軟體工程等理論概念 , 並以如UML等工具來分析架構流程完成專案.

整個專案在團隊有效率的分工下, 在短時間就已完成第一版本參加 Samsung Apps Contest 比賽並在95隊中, 獲得初選前20名. 接著團隊改進了第二版本加強了功能並加入了老師所教授新的分析方法,順利完成了專案.雖然在短短的1個半月的內, 能夠完整對整個android框架的了解,讓我在此有非常多的獲得, 感謝老師,職訓中心及同學們.

吳哲文:

最近這幾年智慧手機盛行,也感受到不一樣的世代來臨。

很高興上android 程式設計這門課程,經過這三個月訓練,從無到有慢慢學習,也了解到自己應該往哪個方向走,很多自我的觀念也跟著改變,自我學習和解決能力是非常重要的因素,還有團隊合作,另外懂得現有資源創造出新的價值。

本人雖然學過FLASH 和JAVA,但是沒有深入,所以上這個班,會有一點擔心學習上會有問題,前面課程對我來說都能適應,到了後面上android 課程變的學習滿困難,又加上課程有點趕,感覺上不太行,了解生命週期和基本 android 使用方法,才了解到並不困難,問題在於如何使用在第二禮拜就要決定專題的分組,一時之間還真的不知道能做什麼專題,加上同學們都還不是很熟,這樣快速分組讓人詫異,不過第三個禮拜才形成,當初有五個方案,這些方案都覺得不錯,但是只能選擇一個,經過組員和趙老師討論之後決定"安全守衛"這個專題,而這次專題中學習到以最簡單的想法解決專題上的可行性。

感謝老師和同學一起完成不可能的任務。


呂俊彥:

一開始只有大學時代的c++ 概念,後來在職訓中心開始上了 java 程式基礎及系統分析,也大致的了解了 java 架構的基礎觀念,到了艾鍗之後,正式的去了解了 android 真正的內容,從基本的ui設計開始,見識到android設計都是一環接著一環的,寫出來的程式不只是能做需要的功能,效能也是很重要的,整個程式的架構跟效能息息相關,好的程式會讓人用的很順手,寫的不好的會讓人覺得做什麼都會頓頓的感覺,所以要了解到程式架構對效能的影響才是應該要學習的,艾鍗的Jarey 老師常常會先寫一次功能雖然正常但是效能不好的範例,再教我們如何把同個程式效能最佳化,要非常了解每個程式碼對記憶體的存取跟讀寫非常了解,這也讓我了解到今後的重要課題,還有專案的製作,需要小組的人共同完成,有時候自己一直解不開的問題,還是需要跟小組的人共同討論來解決,因此 teamwork 也是重要的一環,也讓我了解人際關係的重要,也很感謝中心跟艾鍗的老師認真的教學。


十、成果影片


十一、新聞採訪
自由時報 2012年5月12日
Discussion
No.TitleRepliesLikeModified
24411
0
0
12810
1
0