如何在片段中启用解析本地数据存储

How to enable Parse Local datastore in Fragment

谁能帮帮我?我正在尝试在片段中启用 Parse Local Datastore,但它抛出错误:java.lang.IllegalStateException:必须在 Parse#initialize(Context, String, String) 之前调用 Parse#enableLocalDatastore(Context)。下面是我使用的代码,它在 Activity 中工作得很好,但在 Fragment 中却没有,我知道 getActivity 上下文不为空,因为第二行工作。

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

阅读你的 logcat 错误你只需要交换你的代码。

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

启用解析后,您就可以为其启用本地数据库。

我意识到使用 pin() 会自动保存到本地数据存储,因此无需显式使用 enableLocaldatastore()。有了这个,我可以从 localdatastore 查询并获得缓存的结果。

您必须将与 Parse 初始化相关的代码移动到应用程序 class。制作 class 扩展应用程序,将其添加到清单中,然后在您应用程序调用的 onCreate() 中调用

Parse.enableLocalDatastore(getActivity());
Parse.initialize(getActivity(), DeveloperKey.ParseAppID, DeveloperKey.ParseClientKey);
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()
        );

尝试升级:

implementation "com.github.parse-community.Parse-SDK-Android:parse:x.xx.x" 

到更新版本。像这样:

android ide 是如何帮助我的: