第一章:Firebase快速集成-Android篇

簡介

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界面,如下:

Dashboard

點擊左下角創(chuàng)建一個新APP锋华,我們命名為FIRE-WEATHER嗡官。創(chuàng)建成功后會看到旁邊多出一個FIRE-WEATHER卡片(不同應(yīng)用的APP URL唯一,因為我已經(jīng)創(chuàng)建了毯焕,所以這里會紅色提醒)衍腥。點擊Manage App可以看到該APP數(shù)據(jù)庫的操作視圖

云端數(shù)據(jù)庫操作視圖

建一個嵌入Firebase的應(yīng)用

接下來我們在本地創(chuàng)建一個名為FireWeather的Android工程,按照以下步驟導(dǎo)入Firebase依賴纳猫,首先打開File中的Project Structure婆咸,選擇Cloud,然后勾選上Firebase后點擊確定后導(dǎo)入成功芜辕。


導(dǎo)入firebase的步驟.png

導(dǎo)入后尚骄,打開build.gradle,我們可以看到firebase-client的依賴已被加入侵续,并且為了防止打包時證書沖突倔丈,我們在這里加入了一個packagingOptions憨闰。

build.gradle

代碼集成

該應(yīng)用第一版本具有如下功能,Text區(qū)域顯示當(dāng)前天氣需五,當(dāng)點擊Sunny按鈕時鹉动,可以更改天氣為Sunny,點擊Foggy按鈕時更改為Foggy宏邮,并且在多設(shè)備下泽示,某個設(shè)備Text顯示被更改后,其他設(shè)備上的顯示也相應(yīng)刷新更改蜜氨。

應(yīng)用截圖

接下來我們進(jìn)入具體編碼械筛,來完成上述功能:
第一步:設(shè)置Firebase的上下文
設(shè)置上下文的動作最好是在應(yīng)用生命周期的最開始,所以我們選擇在Application的onCreate方法中設(shè)置飒炎。

創(chuàng)建Application子類

記得把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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末苍匆,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子棚菊,更是在濱河造成了極大的恐慌浸踩,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件统求,死亡現(xiàn)場離奇詭異检碗,居然都是意外死亡据块,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進(jìn)店門后裸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來瑰钮,“玉大人,你說我怎么就攤上這事微驶±饲矗” “怎么了?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵因苹,是天一觀的道長苟耻。 經(jīng)常有香客問我,道長扶檐,這世上最難降的妖魔是什么凶杖? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮款筑,結(jié)果婚禮上智蝠,老公的妹妹穿的比我還像新娘。我一直安慰自己奈梳,他們只是感情好杈湾,可當(dāng)我...
    茶點故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著攘须,像睡著了一般漆撞。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上于宙,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天浮驳,我揣著相機(jī)與錄音,去河邊找鬼捞魁。 笑死至会,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的谱俭。 我是一名探鬼主播奉件,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼旺上!你這毒婦竟也來了瓶蚂?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤宣吱,失蹤者是張志新(化名)和其女友劉穎窃这,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡杭攻,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年祟敛,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片兆解。...
    茶點故事閱讀 38,622評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡馆铁,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出锅睛,到底是詐尸還是另有隱情埠巨,我是刑警寧澤,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布现拒,位于F島的核電站辣垒,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏印蔬。R本人自食惡果不足惜勋桶,卻給世界環(huán)境...
    茶點故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望侥猬。 院中可真熱鬧例驹,春花似錦、人聲如沸退唠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽铜邮。三九已至仪召,卻和暖如春寨蹋,著一層夾襖步出監(jiān)牢的瞬間松蒜,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工已旧, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留秸苗,地道東北人。 一個月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓运褪,卻偏偏與公主長得像惊楼,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子秸讹,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,490評論 2 348

推薦閱讀更多精彩內(nèi)容