หน้านี้ได้รับการแปลโดย Cloud Translation API
Switch to English

การติดตั้ง & amp; ตั้งค่าบน Android

เชื่อมต่อแอปของคุณกับ Firebase

เพิ่ม Firebase ในโปรเจ็กต์ Android ของคุณ หากยังไม่ได้ ทำ

ในโครงการระดับ build.gradle ไฟล์ให้แน่ใจว่าจะรวมถึงพื้นที่เก็บข้อมูล Maven ของ Google ในทั้งสองของคุณ buildscript และ allprojects ส่วน

สร้างฐานข้อมูล

  1. สร้างโปรเจ็กต์ Firebase ใน คอนโซล Firebase คลิก เพิ่มโปรเจ็ก ต์จากนั้นทำตามคำแนะนำบนหน้าจอเพื่อสร้างโปรเจ็กต์ Firebase หรือเพิ่มบริการ Firebase ในโปรเจ็กต์ GCP ที่มีอยู่

  2. ไปที่ส่วน ฐานข้อมูล ของ คอนโซล Firebase คุณจะได้รับแจ้งให้เลือกโครงการ Firebase ที่มีอยู่ ทำตามขั้นตอนการสร้างฐานข้อมูล

  3. เลือกโหมดเริ่มต้นสำหรับกฎความปลอดภัย Firebase ของคุณ:

    โหมดทดสอบ

    เหมาะสำหรับการเริ่มต้นกับไลบรารีไคลเอ็นต์บนอุปกรณ์เคลื่อนที่และเว็บ แต่อนุญาตให้ทุกคนอ่านและเขียนทับข้อมูลของคุณได้ หลังจากการทดสอบโปรด อ่านส่วน ทำความเข้าใจกฎฐานข้อมูลเรียลไทม์ของ Firebase

    หากต้องการเริ่มต้นกับเว็บ iOS หรือ Android SDK ให้เลือกโหมดทดสอบ

    โหมดล็อค

    ปฏิเสธการอ่านและเขียนทั้งหมดจากไคลเอนต์มือถือและเว็บ แอ็พพลิเคชันเซิร์ฟเวอร์ที่ได้รับการพิสูจน์ตัวตนของคุณยังคงสามารถเข้าถึงฐานข้อมูลของคุณได้

  4. คลิก เสร็จสิ้น

เมื่อคุณเปิดใช้ฐานข้อมูลแบบเรียลไทม์จะเป็นการเปิดใช้ API ใน Cloud API Manager ด้วย

เพิ่ม Realtime Database SDK ลงในแอปของคุณ

เพิ่มการอ้างอิงสำหรับไลบรารี Realtime Database Android ในโมดูลของคุณ (ระดับแอป) ไฟล์ Gradle (โดยปกติคือ app/build.gradle ):

ชวา

implementation 'com.google.firebase:firebase-database:19.3.1'

Kotlin + KTX

implementation 'com.google.firebase:firebase-database-ktx:19.3.1'

กำหนดค่ากฎฐานข้อมูลแบบเรียลไทม์

ฐานข้อมูลแบบเรียลไทม์มีภาษากฎที่เปิดเผยซึ่งช่วยให้คุณสามารถกำหนดว่าข้อมูลของคุณควรมีโครงสร้างอย่างไรควรจัดทำดัชนีอย่างไรและเมื่อใดที่ข้อมูลของคุณสามารถอ่านและเขียนถึงได้

โดยค่าเริ่มต้นการเข้าถึงฐานข้อมูลของคุณแบบอ่านและเขียนจะถูก จำกัด ดังนั้นเฉพาะผู้ใช้ที่ได้รับการพิสูจน์ตัวตนเท่านั้นที่สามารถอ่านหรือเขียนข้อมูลได้ ในการเริ่มต้นโดยไม่ต้องตั้งค่าการ พิสูจน์ตัว ตนคุณสามารถ กำหนดค่ากฎของคุณสำหรับการเข้าถึงแบบสาธารณะ การทำเช่นนี้ทำให้ฐานข้อมูลของคุณเปิดสำหรับทุกคนแม้แต่คนที่ไม่ได้ใช้แอปของคุณดังนั้นอย่าลืม จำกัด ฐานข้อมูลของคุณอีกครั้งเมื่อคุณตั้งค่าการตรวจสอบสิทธิ์

เขียนลงในฐานข้อมูลของคุณ

ดึงข้อมูลอินสแตนซ์ของฐานข้อมูลของคุณโดยใช้ getInstance() และอ้างอิงตำแหน่งที่คุณต้องการเขียนถึง

ชวา

// Write a message to the database
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference("message");

myRef.setValue("Hello, World!");

Kotlin + KTX

// Write a message to the database
val database = Firebase.database
val myRef = database.getReference("message")

myRef.setValue("Hello, World!")

คุณสามารถบันทึกช่วงของชนิดข้อมูลลงในฐานข้อมูลด้วยวิธีนี้รวมถึงวัตถุ Java เมื่อคุณบันทึกวัตถุคำตอบจาก getters ใด ๆ จะถูกบันทึกเป็นลูกของตำแหน่งนี้

อ่านจากฐานข้อมูลของคุณ

หากต้องการอัปเดตข้อมูลแอปแบบเรียลไทม์คุณควรเพิ่ม ValueEventListener ในข้อมูลอ้างอิงที่คุณเพิ่งสร้างขึ้น

onDataChange() ในคลาสนี้จะถูกทริกเกอร์หนึ่งครั้งเมื่อมีการเชื่อมต่อ Listener และอีกครั้งทุกครั้งที่ข้อมูลเปลี่ยนแปลงรวมถึงเด็ก ๆ

ชวา

// Read from the database
myRef.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(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(DatabaseError error) {
        // Failed to read value
        Log.w(TAG, "Failed to read value.", error.toException());
    }
});

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())
    }
})

ทางเลือก: กำหนดค่า ProGuard

เมื่อใช้ฐานข้อมูลเรียลไทม์ของ Firebase ในแอปของคุณร่วมกับ ProGuard คุณต้องพิจารณาว่าออบเจ็กต์แบบจำลองของคุณจะถูกทำให้เป็นอนุกรมและ deserialized อย่างไรหลังจากทำให้สับสน หากคุณใช้ < 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 to fit the structure
    # of your app.
    -keepclassmembers class com.yourcompany.models.** {
      *;
    }

เตรียมพร้อมสำหรับการเปิดตัว

ก่อนเปิดตัวแอปขอแนะนำให้ทำตาม รายการตรวจสอบการเปิดตัว เพื่อให้แน่ใจว่าแอปของคุณพร้อมใช้งาน

ขั้นตอนถัดไป