firebase-database Zelfstudie
Aan de slag met firebase-database
Zoeken…
Opmerkingen
Deze sectie biedt een overzicht van wat firebase-database is en waarom een ontwikkelaar deze mogelijk wil gebruiken.
Het moet ook alle grote onderwerpen in de firebase-database vermelden en een link naar de gerelateerde onderwerpen bevatten. Omdat de documentatie voor firebase-database nieuw is, moet u mogelijk eerste versies van die gerelateerde onderwerpen maken.
versies
| Platform SDK | Versie | Publicatiedatum |
|---|---|---|
| Firebase JavaScript SDK | 3.7.0 | 2017/03/01 |
| Firebase C ++ SDK | 3.0.0 | 2107/02/27 |
| Firebase Unity SDK | 3.0.0 | 2107/02/27 |
| Firebase iOS SDK | 3.14.0 | 2017/02/23 |
| Firebase Android SDK | 10.2 | 2017/02/15 |
| Firebase Admin Node.js SDK | 4.1.1 | 2017/02/14 |
| Firebase Admin Java SDK | 4.1.2 | 2017/02/14 |
Voeg Firebase toe aan uw Android-project
Hier de stappen die nodig zijn om een Firebase-project te maken en te verbinden met een Android-app.
Voeg Firebase toe aan uw app
Maak een Firebase-project in de Firebase-console en klik op Nieuw project maken .
Klik op Firebase toevoegen aan uw Android-app en volg de installatiestappen.
Voer desgevraagd de pakketnaam van uw app in .
Het is belangrijk om de pakketnaam in te voeren die uw app gebruikt; dit kan alleen worden ingesteld wanneer u een app toevoegt aan uw Firebase-project.Op het einde download je een
google-services.jsonbestand. U kunt dit bestand op elk gewenst moment opnieuw downloaden. (dit bestand bevindt zich onder projectinstelling in Firebase-console).Schakel android studio View naar Project en plak het google-service.json-bestand onder de app-map
De volgende stap is het toevoegen van de SDK om de Firebase-bibliotheken in het project te integreren.
Voeg de SDK toe
Om de Firebase-bibliotheken in een van uw eigen projecten te integreren, moet u enkele basistaken uitvoeren om uw Android Studio-project voor te bereiden. Mogelijk hebt u dit al gedaan als onderdeel van het toevoegen van Firebase aan uw app.
- Voeg regels toe aan uw root-level
build.gradlebestand om de plug-in google-services op te nemen :
buildscript {
// ...
dependencies {
// ...
classpath 'com.google.gms:google-services:3.1.1'
}
}
Voeg vervolgens in uw module Gradle-bestand (meestal de app/build.gradle ) de regel voor de plug-in toepassen onderaan het bestand toe om de plug-in app/build.gradle te schakelen:
apply plugin: 'com.android.application'
android {
// ...
}
dependencies {
// ...
compile 'com.google.firebase:firebase-core:9.4.0'//THIS IS FOR ANALYTICS
compile "com.google.firebase:firebase-database:11.0.2"
}
// BELOW STATEMENT MUST BE WRITTEN IN BOTTOM
apply plugin: 'com.google.gms.google-services'
Opmerkingen:
Gegevens kunnen niet worden gelezen / geschreven zonder authenticatie. Als u het wilt zonder authenticatie. Wijzig de regels in de database firebase console.
{"rules": {".read": true, ".write": true}}
Voeg internetrechten toe in Manifest
Upgrade Google Play Services en Google Repository
Eenvoudige waarde in database schrijven
Voltooi eerst de installatie en configuratie om uw app met Firebase te verbinden. Vervolgens kunt u overal in uw klas schrijven:
// Write a message to the database
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference("message");
myRef.setValue("Hello, World!");
Het zal Hello, Wold! schrijven Hello, Wold! in message , zoals hieronder te zien:
"your-project-parent" : {
"message" : "Hello, World!"
}
Uitleg
FirebaseDatabase database = FirebaseDatabase.getInstance();
Bovenstaande code wijst FirebaseDatabase instantie toe aan het database voor verder gebruik.
DatabaseReference myRef = database.getReference("message");
Bovenstaande code verwijst naar het myRef object in "message" child van de ouder van uw project (in dit voorbeeld is dit "your-project-parent" ). Het is dus "your-project-parent/message"
myRef.setValue("Hello, World!");
Bovenstaande code zal "Hello, World!" in het pad waarnaar wordt verwezen door myRef
Aangepast model automatisch toewijzen aan gegevensstructuur
Nadat u een paar gegevens in de database hebt gezet en een structuur krijgt die bestaat uit verschillende knooppunten zoals deze;
"user" : {
"-KdbKcU2ptfYF2xKb5aO" : {
"firstName" : "Arthur",
"lastName" : "Schopenhauer",
"userName" : "AphorismMan",
"phone" : "+9022-02-1778",
"gender": "M",
"age" : 25
},
"-KdbQFjs9BDviuqQVHjY" : {
"firstName" : "Werner",
"lastName" : "Heisenberg",
"userName" : "whereAmI",
"phone" : "+9005-12-1901",
"gender": "M",
"age" : 75
}
}
u kunt gegevensstructuren categoriseren.
Klasse creëren
Maak een modelklasse om in te stellen op database.
@IgnoreExtraProperties
public class User {
public String firstName;
public String lastName;
public String userName;
public String phone;
public String gender;
public int age;
public User() {
}
public User(String firstName, String lastName, String userName, String phone, String gender, int age) {
this.firstName = firstName;
this.lastName = lastName;
this.userName = userName;
this.phone = phone;
this.gender = gender;
this.age = age;
}
}
Enkele dingen om te onthouden bij het maken van een modelklasse die u aan uw gegevens wilt toewijzen:
- Je moet een lege constructor hebben
- Het bereik van variabelen / velden moet openbaar zijn, zodat de DataSnapshot die terugkeert vanuit de firebase toegang heeft tot deze velden. Als u dat niet doet, heeft DataSnapshot geen toegang tot uw model als u gegevens wilt ophalen en dat zal een uitzondering veroorzaken.
- De namen van variabelen / velden moeten overeenkomen met die in uw gegevensstructuur.
Verzenden naar Firebase
Maak een gebruikersobject
User user = new User ( "Arthur","Schopenhauer","AphorismMan","+9022-02-1778","M",25)
en referentie
DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference();
Nu heb je de referentie van je database. Maak een user met databaseReference.child("user") . Als u .push() uw modellen gevonden onder willekeurig gemaakte unieke id's zoals hierboven, "-KdbKcU2ptfYF2xKb5aO", "-KdbQFjs9BDviuqQVHjY" .
databaseReference.child("user").push().setValue(user, new DatabaseReference.CompletionListener() {
@Override
public void onComplete(DatabaseError databaseError, DatabaseReference databaseReference) {
Toast.makeText(getActivity(), "User added.", Toast.LENGTH_SHORT).show();
}
});
Als u uw gegevens onder uw specifieke sleutel wilt instellen, doet u dit met .child("yourSpecificKey") plaats van .push() .
databaseReference.child("user").child("yourSpecificKey").setValue(user,...