簡介
Firebase是一款非常好用的云端實時數(shù)據(jù)庫撩荣,提供API供開發(fā)者進(jìn)行多設(shè)備間的數(shù)據(jù)存儲和同步功能的開發(fā),讓不懂服務(wù)端的開發(fā)者也可以快速寫出實時性的Web端和移動端應(yīng)用饶深。它于2012年4月由Envolve公司發(fā)布餐曹,2014年10月公司被Google收購,該技術(shù)將被合并至Google的云服務(wù)中敌厘,用以進(jìn)一步優(yōu)化Google的公共云能力台猴。集成Firebase非常簡便,下面就來逐步教大家如何快速開發(fā)一個基于Firebase的實時Android應(yīng)用俱两。
如果您是iOS開發(fā)者可以查看:《Firebase快速集成-iOS篇》
建立實時數(shù)據(jù)庫
Firebase主頁地址:https://www.firebase.com 卿吐,成功注冊登錄后進(jìn)入Dashboard界面,如下:
點擊左下角創(chuàng)建一個新APP锋华,我們命名為FIRE-WEATHER嗡官。創(chuàng)建成功后會看到旁邊多出一個FIRE-WEATHER卡片(不同應(yīng)用的APP URL唯一,因為我已經(jīng)創(chuàng)建了毯焕,所以這里會紅色提醒)衍腥。點擊Manage App可以看到該APP數(shù)據(jù)庫的操作視圖
建一個嵌入Firebase的應(yīng)用
接下來我們在本地創(chuàng)建一個名為FireWeather的Android工程,按照以下步驟導(dǎo)入Firebase依賴纳猫,首先打開File中的Project Structure婆咸,選擇Cloud,然后勾選上Firebase后點擊確定后導(dǎo)入成功芜辕。
導(dǎo)入后尚骄,打開build.gradle,我們可以看到firebase-client的依賴已被加入侵续,并且為了防止打包時證書沖突倔丈,我們在這里加入了一個packagingOptions憨闰。
代碼集成
該應(yīng)用第一版本具有如下功能,Text區(qū)域顯示當(dāng)前天氣需五,當(dāng)點擊Sunny按鈕時鹉动,可以更改天氣為Sunny,點擊Foggy按鈕時更改為Foggy宏邮,并且在多設(shè)備下泽示,某個設(shè)備Text顯示被更改后,其他設(shè)備上的顯示也相應(yīng)刷新更改蜜氨。
接下來我們進(jìn)入具體編碼械筛,來完成上述功能:
第一步:設(shè)置Firebase的上下文
設(shè)置上下文的動作最好是在應(yīng)用生命周期的最開始,所以我們選擇在Application的onCreate方法中設(shè)置飒炎。
記得把FireWeather加入到AndroidManifest.xml中的application標(biāo)簽中埋哟。
第二步:創(chuàng)建云端實時數(shù)據(jù)庫字段
完成了上下文關(guān)聯(lián),我們根據(jù)應(yīng)用功能厌丑,創(chuàng)建一個云端字段來實現(xiàn)定欧,TextView的顯示隨字段改變而變渔呵,兩個Button也能更改該字段的內(nèi)容怒竿,這樣就可以讓其他設(shè)備也會跟著改變。
創(chuàng)建字段非常簡單扩氢,只需要點擊“+”號耕驰,我們這里添加一個condition字段,默認(rèn)值為“Sunny”录豺。
第三步:關(guān)聯(lián)數(shù)據(jù)庫字段
關(guān)聯(lián)方法是在創(chuàng)建Firebase對象時朦肘,傳入字段地址作為參數(shù),如上condition双饥,則傳入:https://fire-weather.firebaseio.com/condition
第四步:加入數(shù)據(jù)監(jiān)聽
加入一個listener來監(jiān)聽數(shù)據(jù)變化媒抠,在數(shù)據(jù)變化時改變TextView的顯示,在點擊兩個Button時也對云端字段設(shè)置相應(yīng)值即可咏花。
注意此處的dataSnapshot.getValue(String.class);這里也可以傳入自定義的POJO類趴生,可擴(kuò)展性很高。
至此我們已經(jīng)完成了一個簡單的實時Android應(yīng)用昏翰。
以上應(yīng)用源碼可以在Github上查看:
https://github.com/CPPAlien/FireWeather
相關(guān)Youtube視頻:
https://www.youtube.com/watch?v=B1rlT5KQ0yE