我正在研究另一个同事编写的应用程序,最初他在Application类中设置了解析,并使用以下代码进行初始化:
ParseCrashReporting.enable(this);
Parse.enableLocalDatastore(this);
Parse.initialize(this, YOUR_APPLICATION_ID, YOUR_CLIENT_KEY);
ParseUser.enableAutomaticUser();
ParseACL defaultACL = new ParseACL();
ParseACL.setDefaultACL(defaultACL, true);
ParseInstallation.getCurrentInstallation().saveInBackground();
}
然而,当我然后尝试在启动器活动中获取对象ID时,它返回null,因此我将此代码移动到启动器活动并添加了保存回调以确保我可以在需要时获得对象ID。在此之前,我尝试使用暂停线程来确保parse在调用getObjectId()之前完成初始化,但这不起作用。
所以我的问题是,把这些代码放在哪里最好?它现在在启动器活动中工作得很好(从初步测试来看),但我的同事说所有解析初始化必须在Application类中完成,因为它会影响应用程序的其他功能。谁是对的?
编辑:我可以获得对象ID与代码在应用程序类只有第二次加载,而不是第一次,但我需要它在第一次加载
我找到了解决方案,我把代码初始化解析回到应用程序类,但调用.getObjectId ParseInstallation.getCurrentInstallation () ()在启动器活动中,它工作正常
注意:我只开发了安卓6个月,所以我仍然是一个学习者!