簡介
Firebase是一款非常好用的云端實時數據庫,提供API供開發者進行多設備間的數據存儲和同步功能的開發,讓不懂服務端的開發者也可以快速寫出實時性的Web端和移動端應用。它于2012年4月由Envolve公司發布,2014年10月公司被Google收購,該技術將被合并至Google的云服務中,用以進一步優化Google的公共云能力。集成Firebase非常簡便,下面就來逐步教大家如何快速開發一個基于Firebase的實時Android應用。
如果您是iOS開發者可以查看:《Firebase快速集成-iOS篇》
建立實時數據庫
Firebase主頁地址:https://www.firebase.com ,成功注冊登錄后進入Dashboard界面,如下:
點擊左下角創建一個新APP,我們命名為FIRE-WEATHER。創建成功后會看到旁邊多出一個FIRE-WEATHER卡片(不同應用的APP URL唯一,因為我已經創建了,所以這里會紅色提醒)。點擊Manage App可以看到該APP數據庫的操作視圖
建一個嵌入Firebase的應用
接下來我們在本地創建一個名為FireWeather的Android工程,按照以下步驟導入Firebase依賴,首先打開File中的Project Structure,選擇Cloud,然后勾選上Firebase后點擊確定后導入成功。
導入后,打開build.gradle,我們可以看到firebase-client的依賴已被加入,并且為了防止打包時證書沖突,我們在這里加入了一個packagingOptions。
代碼集成
該應用第一版本具有如下功能,Text區域顯示當前天氣,當點擊Sunny按鈕時,可以更改天氣為Sunny,點擊Foggy按鈕時更改為Foggy,并且在多設備下,某個設備Text顯示被更改后,其他設備上的顯示也相應刷新更改。
接下來我們進入具體編碼,來完成上述功能:
第一步:設置Firebase的上下文
設置上下文的動作最好是在應用生命周期的最開始,所以我們選擇在Application的onCreate方法中設置。
記得把FireWeather加入到AndroidManifest.xml中的application標簽中。
第二步:創建云端實時數據庫字段
完成了上下文關聯,我們根據應用功能,創建一個云端字段來實現,TextView的顯示隨字段改變而變,兩個Button也能更改該字段的內容,這樣就可以讓其他設備也會跟著改變。
創建字段非常簡單,只需要點擊“+”號,我們這里添加一個condition字段,默認值為“Sunny”。
第三步:關聯數據庫字段
關聯方法是在創建Firebase對象時,傳入字段地址作為參數,如上condition,則傳入:https://fire-weather.firebaseio.com/condition
第四步:加入數據監聽
加入一個listener來監聽數據變化,在數據變化時改變TextView的顯示,在點擊兩個Button時也對云端字段設置相應值即可。
注意此處的dataSnapshot.getValue(String.class);這里也可以傳入自定義的POJO類,可擴展性很高。
至此我們已經完成了一個簡單的實時Android應用。
以上應用源碼可以在Github上查看:
https://github.com/CPPAlien/FireWeather
相關Youtube視頻:
https://www.youtube.com/watch?v=B1rlT5KQ0yE