Daten einer JSONStore-Sammlung mit einer Cloudant-Datenbank synchronisieren
improve this page | report issueReact-Native-Entwicklungsumgebung einrichten
Führen Sie die Anweisungen von der React-Native-Seite Gettings Started aus, um Ihre Maschine für die React-Native-Entwicklung einzurichten.
JSONStore-SDK zu Ihrer React-Native-App hinzufügen
Das JSONStore-SDK für React Native ist als React-Native-Module von npm verfügbar.
Erste Schritte mit einem neuen React-Native-Projekt
- Erstellen Sie ein neues React-Native-Projekt.
react-native init MyReactApp
- Fügen Sie das MobileFirst-SDK zu Ihrer App hinzu.
cd MyReactApp npm install react-native-ibm-mobilefirst-jsonstore --save
- Verlinken Sie alle nativen Abhängigkeiten mit Ihrer App.
react-native link
Daten einer JSONStore-Sammlung mit einer Cloudant-Datenbank synchronisieren
Wenn alle App-Daten lokal vorhanden sind, hat dies den Nachteil, dass die Daten bei einer Deinstallation der App verlorengehen. Angesichts dieses Problems bietet IBM JSONStore eine Funktion für die Synchronisation mit einer Cloudant-Datenbank.
import { JSONStoreCollection, WLJSONStore, JSONStoreInitOptions, JSONStoreSyncPolicy, JSONStoreAddOptions } from 'react-native-ibm-mobilefirst-jsonstore';
Die Synchronisation der Daten einer JSONStore-Sammlung erfolgt in zwei Schritten:
-
Der einzige Unterschied zwischen einer normalen
JSONStoreCollection
und einer synchronisiertenJSONStoreCollection
besteht in der Art, die Sammlung zu öffnen. Synchrinisierte JSONStoreCollections werden mit entsprechendenJSONStoreInitOptions
geöffnet. Mithilfe der JSONStoreInitOptions entscheiden Sie über die Synchronisationsrichtlinie und den Adapter für die Datensynchronisation. Dieser Adapter ist im Wewentlichen der Cloudant Sync Adapter. Weitere Informationen finden Sie hier. Die JSONStoreInitOptions stellen eine APIsetSyncOptions(syncPolicy, adapterName)
bereit. JSONStoreSyncPolicy (für die Richtlinie) muss einen der folgenden Werte annehmen: ‘SYNC_NONE’, ‘SYNC_DOWNSTREAM’, ‘SYNC_UPSTREAM’. adapterName (für den Adapter) ist der Name des Adapters, der in Ihrem mit der Cloudant-Datenbank interagierenden MobileFirst Server implementiert ist. Stellen Sie für eine ordnungsgemäße Synchronisatin sicher, dass die Cloudant-DB-Details korrekt eingegeben sind.var initOptions = new JSONStoreInitOptions(); initOptions.setSyncOptions(JSONStoreSyncPolicy.SYNC_UPSTREAM, "JSONStoreCloudantSync"); var collection = new JSONStoreCollection('favourites'); WLJSONStore.openCollections(['favourites'], initOptions).then(data => { console.log("Successfully opened collection with Sync Policy!"); }).catch(err => { console.log(err); });
-
Wenn die Synchronisations-API aufgerufen wird, werden alle JSONStoreCollections, die wie synchronisierte Sammlungen geöffnet wurden, bei erfolgreicher Ausführung der API
openCollection()
automatisch die Synchronisation auslösen.
Wenn eine JSONStoreCollection mit der Richtlinie JSONStoreSyncPolicy.SYNC_DOWNSTREAM geöffnet wird, können Sie die APIsync()
explizit aufrufen, um die zuletzt per Pull-Operation übertragenen Daten abzurufen.
Wenn eine a JSONStoreCollection mit der Richtlinie JSONStoreSyncPolicy.SYNC_UPSTREAM geöffnet wird, wird der Synchronisationsprozess automatisch ausgelöst, sobald ein Dokument der Sammlung hinzugefügt, aktualisiert oder entfernt wird. Unbhängig davon können Sie die APIsync()
aufrufen, um die Synchronisation explizit auszulösen.var favCollection = new JsonStoreCollection('favourites'); favCollection.sync();
Inclusive terminology note: The Mobile First Platform team is making changes to support the IBM® initiative to replace racially biased and other discriminatory language in our code and content with more inclusive language. While IBM values the use of inclusive language, terms that are outside of IBM's direct influence are sometimes required for the sake of maintaining user understanding. As other industry leaders join IBM in embracing the use of inclusive language, IBM will continue to update the documentation to reflect those changes.