2.3.2.1 CF-Java: Connexió des de Java
Drivers necessaris
Els drivers necessaris són els mateixos que vam baixar-nos per al cas de Realtime Database. Millor dit, estan inclosos en la llibreria que ens vam muntar, per tant aquesta feina la vam fer en el punt 2.2.2.1
Configuració
Exactament el mateix que en el cas de Realtime Database. Observeu que és lògic, perquè és la manera d'accedir al projecte, i el projecte és el mateix. Per tant, tornem a fer referència al punt 2.2.2.1.
Recordeu que ens vam baixar un fitxer json amb la clau privada que vam guardar a l'arrel del projecte (i del qual és molt convenient guardar còpia). Després, com deia l'exemple, col·loquem el següent per a un accés correcte:
FileInputStream serviceAccount = new FileInputStream(nom_al_fitxer_json);
FirebaseOptions options = new FirebaseOptions.Builder()
.setCredentials(GoogleCredentials.fromStream(serviceAccount))
.setDatabaseUrl("https://acces-a-dades-6e5a6.firebaseio.com").build();
FirebaseApp.initializeApp(options);
No us oblideu de substituir el nom del fitxer json. També heu de tenir en compte que la URL de la base de dades serà diferent per a cadascú de nosaltres.
Ara serà lleugerament més que en el cas de Realtime Database vist en el punt 2.2.2.1., ja que no caldrà especificar la URL de la Base de Dades, amb la referència al fitxer json serà suficient.
Recordeu que ens vam baixar un fitxer json amb la clau privada que vam guardar a l'arrel del projecte (i del qual és molt convenient guardar còpia). Després, com deia l'exemple, col·loquem el següent per a un accés correcte, on no posem el .setDatebaseURL():
FileInputStream serviceAccount = new FileInputStream(nom_al_fitxer_json);
FirebaseOptions options = new FirebaseOptions.Builder()
.setCredentials(GoogleCredentials.fromStream(serviceAccount))
.build();
FirebaseApp.initializeApp(options);
No us oblideu de substituir el nom del fitxer json.
Referència a la Base de Dades i a les dades concretes a les quals volem accedir
Ara la referència a la Base de Dades de Cloud Firestore canviarà:
Firestore database = FirestoreClient.getFirestore();
Com que la informació està organitzada en col·leccions i dins d'ella en documents, podrem accedir primer a les col·leccions i dins d'elles a documents. A continuació teniu la referència pas a pas:
CollectionReference col = database.collection("Xats");
DocumentReference docXatProva = col.document("XatProva");
Encara que evidentment ho podíem haver fet en una única línia:
DocumentReference docXatProva = database.collection("Xats").document("XatProva");
No ens plantejarem accedir a un element de dins d'un document, sinó que de moment accedirem a tot el conjunt del document.
Recordeu que Realtime Database, com era un únic document JSON, allà anava tot i obligatòriament havíem de poder tenir una referència a un únic element. Com en Cloud Firestore ho podem organitzar en col·leccions i documents, cadascun d'ells el podem dissenyar millor i que continga únicament les dades estrictes. Aleshores ens anirà bé accedir a tot el document.