Java與即時雲端資料庫Firebase

作者:張益裕
精誠資訊 恆逸教育訓練中心 資深講師
技術分類:程式設計

Firebase是一家在2011年成立的公司,主要的產品是提供即時的雲端資料庫服務,Firebase提供各種技術使用的API,讓開發人員很容易在應用程式加入即時雲端資料庫的功能。 Google在2014年已經併購Firebase,Firebase原來的開發團隊併入Google Cloud,藉由Google豐富的資源,可以快速加強與擴充Firebase的服務。 Firebase在2015年已經整合Google帳戶,使用者可以使用Google帳戶登入與管理Firebase即時雲端資料庫的服務。

現在從企業、行動裝置開始延伸到物聯網的應用,企業應用程式需要讓所有的資料,能夠更即時、快速的在行動與小型裝置中傳送與接收。 在原有的Java應用程式加入Firebase即時雲端資料庫的支援,可以快速與各種行動與物聯網裝置結合。

開始使用Firebase之前,必須在https://www.firebase.com/使用Google帳戶登入,Firebase會自動建立一個app, 具備一個專屬的URL,例如「hello.firebaseio.com」,您可以使用這個URL存取雲端資料庫。

接下來在「https://cdn.firebase.com/java/firebase-client-jvm-2.5.1.jar」下載Firebase提供的Java API,把下載的JAR加入應用程式專案。

在應用程式執行存取雲端資料庫的工作,先使用專屬的Firebase app URL建立需要的物件:

Firebase myFirebaseRef =
  new Firebase ( "https:// < YOUR-FIREBASE-APP >.firebaseio.com /> " );

建立Firebase物件以後,就可以呼叫setValue方法,寫入Boolean, Long, Double, Map < string, object > 或List物件到雲端資料庫:

myFirebaseRef.child ("message") .setValue ("Hello! Firebase.") ;

執行上面的程式碼以後,可以在Firebase提供的Dashboard的服務網頁,檢視儲存的資料:

Java網頁、桌面、嵌入式與Android應用程式,都可以使用上面說明的方式,把資料儲存到雲端資料庫。 需要即時接收雲端資料庫異動的應用程式,可以使用下列的程式片段:

myFirebaseRef.child("message").addValueEventListener(new ValueEventListener() {

@Override
public void onDataChange(DataSnapshot snapshot) {
System.out.println(snapshot.getValue()); // 顯示 Hello! Firebase.
}

@Override public void onCancelled(FirebaseError error) { }

});

上面的程式碼在執行以後,會自動讀取一次目前儲存在雲端資料庫的資料,後續在任何應用程式更新以後,都可以即時接收到最新的資料。

Share |

您可在下列課程中了解更多技巧喔!

相關學習資源

【Raspb】物聯網開發技術-Raspberry Pi嵌入式應用程式實作-使用Java程式語言