2016-04-17 7 views
6

Grałem z Realm, dostałem go do pracy z React-Native - Mam dane wstawione z pliku JSON i było możliwość filtrowania/odczytu również.Czy istnieje sposób na wstępne pakowanie bazy danych o Królestwie (default.Realm) za pośrednictwem React-Native (JS)

Teraz prawdziwe pytanie, w jaki sposób mogę wstępnie spakować dane za pomocą mojej natywnej aplikacji reagowania. Widziałem kilka pytań, gdzie jest mowa o tym, jak to zrobić z Native (IOS) i (Android)

Chciałem sprawdzić, czy jest bezpośredni sposób to zrobić z React-Native, może być mostem, który ktoś stworzył ?

Dzięki!

Odpowiedz

1

Idealnie byłoby po prostu użyć ścieżki dołączonego pliku dziedziny podczas otwierania Królestwa. Niestety to nie zadziała, dopóki nie zostanie dodane wsparcie dla domen tylko do odczytu. Stworzyłem problem do śledzenia tego problemu: https://github.com/realm/realm-js/issues/392

Dopóki nie są obsługiwane dziedziny tylko do odczytu, można skopiować plik dziedziny dołączony do katalogu dokumentów przy uruchomieniu aplikacji w AppDelegate, a następnie użyć tej ścieżki, aby uzyskać dostęp do pakowanej dziedziny. Względne ścieżki są obsługiwane, więc jeśli skopiujesz plik do <Documents>/bundled.realm, możesz otworzyć ten plik, po prostu przekazując nazwę pliku, tj. new Realm({path: 'bundled.realm'})

+0

Witam @Ari - Więc wypróbowałem powyższe podejście, w którym dołączono wstępnie załadowany plik dziedziny. To dobrze działa. Napisałem również kod Celu C, aby dodać plik Default.realm do Dokumentów. Teraz problem polega na tym, że próbuję wprowadzić dowolną aktualizację. Dostaję wyjątek od React-Native. Proszę zauważyć, że musiałem dodać React.Framework dla IOS w moim xcode, aby zaimportować 'import ' - To jest winowajca, kiedy go usunę, wszystko działa. Daj mi znać, jeśli masz jakiś kierunek lub potrzebujesz więcej informacji. – Abhay

+0

@Abhay jaki wyjątek widzisz? Jeśli schemat, którego używasz w React Native, jest zupełnie inny niż Schemat Celu C, otrzymasz wyjątek podczas inicjowania Realm. Jeśli nie przekazujesz parametru schematu podczas otwierania obszaru w JS, powinien on po prostu użyć schematu używanego w Objective C, który mógłby uniknąć tego problemu, chociaż nie został dokładnie przetestowany. – Ari

+0

Dzięki za odpowiedź. Używam tego samego pliku default.realm, który został wygenerowany dla schemaVersion: 1 ... Więc nie ma zmian w pliku. Plik zostanie skopiowany ... i jestem również w stanie odczytać dane. Otrzymuję problem, który nie zapisuje danych w bazie danych. Oto istota tego, co mam w moim AppDelegate.m - https://gist.github.com/abhaytalreja/69e16e8a2384123a4257483fa55fb14c – Abhay

Powiązane problemy