אם עדיין לא עשית זאת, הוסף את Firebase לפרויקט Android שלך .
צור מסד נתונים
נווט לקטע מסד נתונים בזמן אמת של מסוף Firebase . תתבקש לבחור פרויקט Firebase קיים. עקוב אחר זרימת העבודה של יצירת מסד הנתונים.
בחר מצב התחלה עבור כללי האבטחה של Firebase:
- מצב מבחן
טוב לתחילת העבודה עם ספריות לקוח הנייד והאינטרנט, אבל מאפשר לכל אחד לקרוא ולדרוס את הנתונים שלך. לאחר הבדיקה, הקפד לעיין בקטע הבנת כללי מסד נתונים של Firebase בזמן אמת .
כדי להתחיל בעבודה עם האינטרנט, Apple או Android SDK, בחר במצב test.
- מצב נעול
דוחה כל קריאה וכתיבה מלקוחות ניידים ואינטרנט. שרתי היישומים המאומתים שלך עדיין יכולים לגשת למסד הנתונים שלך.
בחר מיקום עבור מסד הנתונים.
בהתאם למיקום מסד הנתונים , כתובת האתר של מסד הנתונים החדש תהיה באחת מהצורות הבאות:
DATABASE_NAME .firebaseio.com
(עבור מסדי נתונים ב-us-central1
)DATABASE_NAME . REGION .firebasedatabase.app
(עבור מסדי נתונים בכל המיקומים האחרים)
לחץ על סיום .
כאשר אתה מפעיל את מסד הנתונים בזמן אמת, הוא גם מפעיל את ה-API ב- Cloud API Manager .
הוסף את ה-SDK של מסד נתונים בזמן אמת לאפליקציה שלך
בקובץ Gradle של המודול (ברמת האפליקציה) (בדרך כלל<project>/<app-module>/build.gradle.kts
או <project>/<app-module>/build.gradle
), הוסף את התלות עבור מסד הנתונים בזמן אמת ספרייה עבור אנדרואיד. אנו ממליצים להשתמש ב- Firebase Android BoM כדי לשלוט בגירסאות של הספרייה.dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:32.6.0")) // Add the dependency for the Realtime Database library // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-database") }
באמצעות Firebase Android BoM , האפליקציה שלך תמיד תשתמש בגרסאות תואמות של ספריות Firebase Android.
(אלטרנטיבי) הוסף תלות בספריית Firebase מבלי להשתמש ב-BoM
אם תבחר שלא להשתמש ב-Firebase BoM, עליך לציין כל גרסת ספריית Firebase בשורת התלות שלה.
שים לב שאם אתה משתמש במספר ספריות Firebase באפליקציה שלך, אנו ממליצים בחום להשתמש ב-BoM לניהול גרסאות ספרייה, מה שמבטיח שכל הגרסאות תואמות.
dependencies { // Add the dependency for the Realtime Database library // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-database:20.3.0") }
הגדר את כללי האבטחה של מסדי נתונים בזמן אמת
מסד הנתונים בזמן אמת מספק שפת חוקים הצהרתית המאפשרת לך להגדיר כיצד הנתונים שלך צריכים להיות מובנים, כיצד יש להוסיף אותם לאינדקס, ומתי ניתן לקרוא את הנתונים שלך ולכתוב אליהם.
כתוב למסד הנתונים שלך
אחזר מופע של מסד הנתונים שלך באמצעות getInstance()
והפנה למיקום שאליו ברצונך לכתוב.
Kotlin+KTX
// Write a message to the database val database = Firebase.database val myRef = database.getReference("message") myRef.setValue("Hello, World!")
Java
// Write a message to the database FirebaseDatabase database = FirebaseDatabase.getInstance(); DatabaseReference myRef = database.getReference("message"); myRef.setValue("Hello, World!");
אתה יכול לשמור מגוון סוגי נתונים במסד הנתונים בדרך זו, כולל אובייקטי Java. כאשר אתה שומר אובייקט, התגובות מכל משברים יישמרו בתור ילדים של מיקום זה.
קרא ממסד הנתונים שלך
כדי לעדכן את נתוני האפליקציה שלך בזמן אמת, עליך להוסיף ValueEventListener
להפניה שיצרת זה עתה.
שיטת onDataChange()
במחלקה זו מופעלת פעם אחת כאשר המאזין מחובר ושוב בכל פעם שהנתונים משתנים, כולל הילדים.
Kotlin+KTX
// Read from the database myRef.addValueEventListener(object : ValueEventListener { override fun onDataChange(dataSnapshot: DataSnapshot) { // This method is called once with the initial value and again // whenever data at this location is updated. val value = dataSnapshot.getValue<String>() Log.d(TAG, "Value is: $value") } override fun onCancelled(error: DatabaseError) { // Failed to read value Log.w(TAG, "Failed to read value.", error.toException()) } })
Java
// Read from the database myRef.addValueEventListener(new ValueEventListener() { @Override public void onDataChange(@NonNull DataSnapshot dataSnapshot) { // This method is called once with the initial value and again // whenever data at this location is updated. String value = dataSnapshot.getValue(String.class); Log.d(TAG, "Value is: " + value); } @Override public void onCancelled(@NonNull DatabaseError error) { // Failed to read value Log.w(TAG, "Failed to read value.", error.toException()); } });
אופציונלי: הגדר את ProGuard
בעת שימוש ב-Firebase Realtime Database באפליקציה שלך יחד עם ProGuard, אתה צריך לשקול כיצד אובייקטי המודל שלך יועברו בסידרה ובלתי מסודרת לאחר ערפול. אם אתה משתמש DataSnapshot.getValue(Class)
או DatabaseReference.setValue(Object)
כדי לקרוא ולכתוב נתונים, תצטרך להוסיף כללים לקובץ proguard-rules.pro
:
# Add this global rule
-keepattributes Signature
# This rule will properly ProGuard all the model classes in
# the package com.yourcompany.models.
# Modify this rule to fit the structure of your app.
-keepclassmembers class com.yourcompany.models.** {
*;
}
כדי לקבל עזרה בשאלות או בעיות הקשורות ל-ProGuard, בקר בפורומים של קהילת Guardsquare כדי לקבל סיוע ממומחה.
היכונו להשקה
לפני השקת האפליקציה שלך, אנו ממליצים לעבור ברשימת המשימות שלנו להשקה כדי לוודא שהאפליקציה שלך מוכנה לשימוש!
הקפד להפעיל את App Check כדי להבטיח שרק האפליקציות שלך יכולות לגשת לבסיסי הנתונים שלך.
הצעדים הבאים
- למד כיצד לבנות נתונים עבור מסד נתונים בזמן אמת
- קנה קנה מידה של הנתונים שלך על פני מופעי מסד נתונים מרובים .
- קרא וכתוב נתונים .
- הצג את מסד הנתונים שלך במסוף Firebase .