我有一个关于android和IOS的工作应用程序。
两者的第一个活动是登录屏幕。 第二个活动是搜索功能,允许您使用解析查找附近的用户。
但是我正在尝试让应用程序允许用户无需登录即可进行搜索。
这对IOS来说很容易。
在android中我已将我的启动活动更改为清单文件中的活动2(搜索活动)并且加载正常,但显然没有当前用户。
当我尝试现在运行查询时,应用程序暂停,在调试器中它表示用户为空。我猜这是问题所在。
然后我尝试使用行创建oncreate方法中的一个非常用户..
System.Activator
然后失败并显示消息
java.lang.NullPointerException:尝试在com.parse.Parse.getParseDir(Parse.java:499)的空对象引用上调用虚方法'java.io.File com.parse.ParsePlugins.getParseDir()'
但奇怪的是。如果我把它放在活动1中,这段代码确实有效,但是当它试图启动活动2时应用程序会被卡住。
有谁知道发生了什么?或者我如何解决原来的原始问题?
由于
答案 0 :(得分:0)
未初始化Parse时出现此错误。我猜你把Parse.initialize()
代码放在了你的活动中。当你去另一个时,初始化就会丢失。您需要扩展Application类,以便它为整个应用程序保留一个初始化。
public class Application extends android.app.Application {
@Override
public void onCreate() {
super.onCreate();
Parse.initialize(new Parse.Configuration.Builder(this)
.applicationId("id")
.clientKey("key")
.server("server")
.enableLocalDataStore()
.build()
);
ParseUser.enableAutomaticUser();
}
}
这在你的AndroidManifest.xml中
<application
android:name=".Application"
android:allowBackup="true"
android:icon="@drawable/logo"
android:label="@string/app_name"
android:theme="@style/AppTheme">