Parse#enableLocalDatastore(Context)
必须在Parse#initialize(Context, String, String)
之前调用。下面是我使用的代码,它在Activity中完全正常但在Fragment中没有,我知道getActivity上下文不是null,因为第二行有效。
Parse.enableLocalDatastore(getActivity());
Parse.initialize(getActivity(), DeveloperKey.ParseAppID, DeveloperKey.ParseClientKey);
答案 0 :(得分:1)
您必须将与Parse初始化相关的代码移动到Application类。使类扩展Application,将其添加到清单,然后添加到应用程序调用的onCreate()
Parse.enableLocalDatastore(getActivity());
Parse.initialize(getActivity(), DeveloperKey.ParseAppID, DeveloperKey.ParseClientKey);
答案 1 :(得分:0)
阅读您的logcat错误,您只需要交换代码。
Parse.initialize(getActivity(), DeveloperKey.ParseAppID, DeveloperKey.ParseClientKey);
Parse.enableLocalDatastore(getActivity());
启用解析后,您就可以为其启用本地数据库。
答案 2 :(得分:0)
我意识到使用pin()
会自动保存到本地数据存储区,因此无需明确使用enableLocaldatastore()
。有了这个,我可以从localdatastore
查询并获得缓存的结果。
答案 3 :(得分: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()
);
答案 4 :(得分:0)