粉絲團直播系列,利用 Firebase 設計連線賓果 APP,無伺服器的開始

By | 2018-06-22

五月時,我突然想實作什麼

23 年前,Java 剛出來,我大二的課程期末作業寫的是賓果遊戲,當時是六人一組,當然其餘是米蟲…

我最後寫了個 Java AWT 圖形介面的賓果遊戲,使用 Java Applet 方式掛在網頁中,取得 client IP 後廣播,讓另一個client 可以連接後再進行簡單的通訊協定開玩。

在經過期末的報告展示後,老師給我們這組 65 分,我想在當時沒人會相信只接觸 3 個月 Java,就能寫出這樣的專題吧。我雖然不開心,但一下子就釋懷了,我想,你… 怕了就好 (老師歹勢,我當時是這樣想的)

就在剛才睡午覺一起來時,我想在 2018 年回頭再寫個賓果遊戲,看看科技、技術、知識會帶給我多大的變化。日後,我想弄個固定直播時間,每次寫 10 分鐘,看看能把賓果遊戲寫得多大,最後將它上架!至於時間我傾向是晚上九點左右。

Firebase 連線賓果實作直播開始

當天晚上立馬在粉絲專頁開實作直播了,預定每天寫10到15分鐘,看看完成整個 APP 再上架,最後會花多少時間,當然,要先具備完整的 Android 開發基礎為前提。

從導入 Firebase 的 Authentication 會員帳號系統開始,再加入 Realtime database,目的是要讓使用者一開始就能快速登入系統,並設定匿稱。

選擇頭像

接下來的二天直播,加入因應 GDPR 規範設計刪除帳號功能外,再設計頭像選擇功能,使用最新 ContraintLayout 1.1.1 的 Group 群組等功能,實作 APP 上方頭像像選擇,並即時同步儲存在 Firebase 雲端資料庫。

即時遊戲室展示從 Firebase 到 RecyclerView

從資料庫讀取資料並以 RecyclerView 展示,這工作就有點麻煩了,更何況還要即時?代表即時要顯示遊戲室的新增與移除。具有好的 Android 基礎,再加上用對方法就對了。這個功能只花了15分鐘就完成了,馬上開始設計賓果遊戲畫面。

賓果遊戲介面

設計過程蠻有趣的,利用 Firebase 遊戲室的一個狀態值,可以設計兩人連線對戰。比起以前要設計伺服器、通訊協定、安全檢查等的苦工,這個功能大概25分鐘,打完收工。

當然,最後的介面、調整等的工作,再加上上架,隔天就看到 Play 商店上架了。

這個專案的原始碼全都由我一人完成,不會公開,它也不是開放源碼。唯目前 Android 高效入門線上課程在 hahow 好學校募資,預計會加碼 100 分鐘的 Firebase 連線賓果實作錄影,讓學員能在完整的基礎學習後,能夠練習融合所學並完成實務專案的方法。

Android 高效入門線上課程募資

相關文章:

Category: 8.0 Oreo Android Firebase

About Hank Tom

專長為程式語言、雲端服務開發,Linux系統管理, 任職:利拓科技 技術長,海林行動科技 技術總監 輔仁大學 兼任助理教授 , 為 Android高效入門>深度學習、CentOS 7建置、管理與伺服器架設實戰、Java網路程式設計、雲端網頁程式設計-Google App Engine應用實作 等書作者

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *