2015-04-21 3 views
0

Может ли кто-нибудь мне помочь? Я пытаюсь включить Parse Local Datastore во фрагмент, но он выкидывает ошибку: java.lang.IllegalStateException: Parse#enableLocalDatastore(Context) необходимо вызвать до Parse#initialize(Context, String, String). Ниже приведен код, который я использую, который отлично работает в Activity, но не в Fragment, и я знаю, что контекст getActivity не является нулевым, поскольку работает вторая строка.Как включить Parse Local datastore in Fragment

Parse.enableLocalDatastore(getActivity()); 
Parse.initialize(getActivity(), DeveloperKey.ParseAppID, DeveloperKey.ParseClientKey); 

ответ

0

Я понял, используя pin() автоматически сохраняет в локальном хранилище данных, поэтому не нужно было явно использовать enableLocaldatastore(). При этом я могу запросить от localdatastore и получить полученный в кэше результат.

0

Чтение вашей ошибки logcat вам просто необходимо для обмена кодом.

Parse.initialize(getActivity(), DeveloperKey.ParseAppID, DeveloperKey.ParseClientKey); 
Parse.enableLocalDatastore(getActivity()); 

Когда ваш синтаксис разрешает после этого, вы сможете включить свою локальную базу данных.

+0

Он дает такую ​​же ошибку. – saintjab

+0

Вы убираете свой проект? – Piyush

+0

Пробовал, но без эффекта. Я собираюсь добавить то, что я сделал, чтобы получить локальное хранилище данных. спасибо за вашу помощь @Piyush. – saintjab

1

вам необходимо перенести свой код, связанный с инициализацией Parse, в класс приложения. Сделать класс, расширяющий приложение, добавьте его проявить, а затем в OnCreate() из вас вызова приложения

Parse.enableLocalDatastore(getActivity()); 
Parse.initialize(getActivity(), DeveloperKey.ParseAppID, DeveloperKey.ParseClientKey); 
0
Parse.enableLocalDatastore(getActivity()); 

старый способ включения локального хранилища данных.

Теперь вам нужно сделать это.

Parse.initialize(new Parse.Configuration.Builder(this) 
       .applicationId(getResources().getString(R.string.parse_api_key)) 
       .clientKey(null) 
       .server("YOUR_SERVER_URL/") // The trailing slash is important. 
     .enableLocalDataStore().build() 
     );