- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 Parse.com 的新手,目前正在 Android 中使用 Parse 构建我的第一个项目。我正在尝试复制“Anywall”教程 (https://www.parse.com/tutorials/anywall-android) 中显示的登录工作流程,但我绝对无法让它正常工作。
每当我尝试启动该应用程序时,它都会给我一个 NullPointerException,我试图在 DispatchActivity(代码如下所示)中检查 (ParseUser.getCurrentUser() != null):
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Check if there is current user info
if (ParseUser.getCurrentUser() != null) {
// Start an intent for the logged in activity
startActivity(new Intent(this, MainActivity.class));
} else {
// Start and intent for the logged out activity
startActivity(new Intent(this, WelcomeActivity.class));
}
}
LogCat 中的堆栈跟踪如下:
07-13 00:34:54.925 6268-6268/com.appzylabs.pratik.groupreceipts W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0xa6142908)
07-13 00:34:54.925 6268-6268/com.appzylabs.pratik.groupreceipts E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.appzylabs.pratik.groupreceipts/com.appzylabs.pratik.groupreceipts.DispatchActivity}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
at android.app.ActivityThread.access$600(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5041)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at com.parse.Parse.getParseDir(Parse.java:304)
at com.parse.ParseObject.getFromDisk(ParseObject.java:667)
at com.parse.ParseUser$10.then(ParseUser.java:1056)
at com.parse.ParseUser$10.then(ParseUser.java:1003)
at bolts.Task$14.run(Task.java:796)
at bolts.BoltsExecutors$ImmediateExecutor.execute(BoltsExecutors.java:105)
at bolts.Task.completeAfterTask(Task.java:787)
at bolts.Task.continueWithTask(Task.java:599)
at bolts.Task.continueWithTask(Task.java:610)
at com.parse.ParseUser.getCurrentUserAsync(ParseUser.java:1003)
at com.parse.ParseUser.access$800(ParseUser.java:26)
at com.parse.ParseUser$9.then(ParseUser.java:996)
at com.parse.ParseUser$9.then(ParseUser.java:993)
at com.parse.TaskQueue.enqueue(TaskQueue.java:61)
at com.parse.ParseUser.getCurrentUserAsync(ParseUser.java:993)
at com.parse.ParseUser.getCurrentUser(ParseUser.java:979)
at com.parse.ParseUser.getCurrentUser(ParseUser.java:966)
at com.appzylabs.pratik.groupreceipts.DispatchActivity.onCreate(DispatchActivity.java:26)
at android.app.Activity.performCreate(Activity.java:5104)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
at android.app.ActivityThread.access$600(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5041)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
at dalvik.system.NativeStart.main(Native Method)
有些事情告诉我“ParseUser”没有正确初始化或实例化,但我的应用程序类中已经有以下代码:
public Application() {
}
@Override
public void onCreate() {
super.onCreate();
Parse.enableLocalDatastore(this);
Parse.initialize(this, "XXXX", "YYYY");
}
}
我在这里做错了什么?我只是想不通。有帮助吗?
最佳答案
嗯,我刚刚意识到这个问题。我在一个单独的 Application 类中调用 Parse.initialize() ,如下所示:
public class Application extends android.app.Application {
...
Parse.initialize(this, "XXXX", "YYYY");
...
}
但是,我没有将该类添加到我的 AndroidManifest.xml 中,因此代码从未被执行,Parse 从未被初始化,并且 ParseUser 抛出 NullPointerException。一旦我将它添加到我的 list 中,它就起作用了:
<application
android:name="com.appzylabs.pratik.groupreceipts.Application"
对不起!我希望这对面临同样问题的其他人有用。
关于android - 检查时出现 NullPointerException (ParseUser.getCurrentUser() != null),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31372367/
有没有办法将 ParseUser 保存到手机中,以便下次用户可以在没有网络连接的情况下登录。我已经在 https://parse.com/docs/android/api/com/parse/Pars
我在启用本地数据存储时开始出现此错误。我不知道如何解决它。我正在查看文档,但到目前为止什么也没发现……应用程序没有崩溃,但显然大部分时间都无法将任何内容保存到用户对象。 05-03 02:17:24.
我正在尝试获取已加入群组的用户的 ParseRelation。在我添加使用 Facebook 登录之前,我没有问题。现在,在尝试将用户添加到关系然后保存 ParseObject 时,出现“无法保存未经
尝试在云代码中注册或更新 ParseUser 时,我收到错误响应“用户对象不允许来自其他用户的写入”。正如 Parse 团队指定的那样,我正在使用 Parse.Cloud.useMasterKey()
我是 parseUser 的子类,所以当我寻找我使用的用户时: query.getFirstInBackground(new GetCallback() { @Override
我正在尝试更新 ParseUser 中的字段,并且我正在使用外部库将 Parse 与 Java 结合使用。即使我获得 ParseUser 对象并且可以使用 getEmail()、getUsername
我使用 parse.com 作为我的应用程序的后端服务。因此,我在我的应用程序中编写了一个注册/登录部分,其中:+ 我可以输入新的用户电子邮件+密码+ 并使用这些凭据反复注销和登录。 到目前为止,一切
编写一个小代码 fragment ,其中 ParseUser 在满足某些条件后注销。有时它工作得很好,有时它会抛出如下所示的类转换期望 java.lang.classcastexception: or
在使用解析时,我试图保存一个 的ArrayList 在特定 ParseObject 的“键”的“值”中。根据我的理解,这是可能的,我只需传入 ArrayList 作为值并调用 saveInBackgr
我正在尝试检索我在用户首次创建帐户时添加的“位置”字段。位置字段只是另一个字段,如“用户名”或“电子邮件”。我知道您可以使用以下方式获取一个字段: ParseQuery query = ParseQu
您好,我想知道为什么这段代码不起作用。我正在尝试查询 ParseUser 的用户名字段以查找某个用户,但它一直说找不到它。 private void findUserName(String user)
我正在尝试使用个人资料图片进行注册 Activity ,但我收到一条错误消息:无法对未保存的解析文件进行编码。我在另一个类中有相同的代码,它没有任何问题。 我认为问题可能在于使用 ParseUser
我正在使用 ParseUser 进行用户管理。有了用户名(唯一),我计划查询 User 类以识别用户,然后将新分数放入“分数”字段,就像排行榜一样。编码如下: 代码: public void upda
我可以很好地登录用户,并显示用户名。 get("username"); echo $currentUser; ?> second page 但是当我将用户导航到同一服务器上的另一个页面并检查当前用户时
您好,我正在为用户使用 Parse API 的数据库,我想知道如何获取实际的 ParseUser 对象,以便我可以向其添加字段?我是否必须先查询以获取 id,然后再以这种方式检索 obejct?如 P
我试图在 authData 字段 android 中保存数据,但出现异常:仅读取用户后无法保存未经身份验证的 ParseUser” ParseQuery query = ParseUser.getQu
我是 Parse 新手,想知道是否有任何方法可以将给定 ParseUser 的所有 ParseFiles(在本例中为图像)存储到 ArrayList 之类的内容中? 这是我的代码: public Ar
我正在使用 Parse 在注册页面中保存移动应用程序中的数据。我的对象中有一个类型为"file"、名为“照片”的字段,它从相机或手机图库中获取图像。 我的对象名为“User”(已经存在 - Parse
我在 Android Studio 上有一个 Parse Starter 应用程序(从 Parse 的 github 下载),并且我正在使用 Heroku yo 有 Parse Server。 我可以
我想以 ParseUser 身份登录。一切正常,但在第二次单击按钮 Log in 后。 private void openMainActivity(boolean loggedIn) { if
我是一名优秀的程序员,十分优秀!