添加Firestore文档既不会失败也不会成功。

huangapple go评论97阅读模式
英文:

Adding Firestore document doesn't Fail or Succeed

问题

以下是您提供的代码的翻译部分:

  1. FirebaseFirestore db = FirebaseFirestore.getInstance();
  2. Map<String, Object> newuser = new HashMap<>();
  3. newuser.put("Username", username);
  4. newuser.put("Password", password);
  5. newuser.put("Nickname", userNickname);
  6. newuser.put("Code", "ffff");
  7. newuser.put("Othercode", "ffffffff");
  8. newuser.put("Age", "0");
  9. //Point 1
  10. db.collection("Users").document(username).set(newuser)
  11. .addOnSuccessListener(new OnSuccessListener<Void>() {
  12. @Override
  13. public void onSuccess(Void aVoid) {
  14. //Point 2
  15. }
  16. })
  17. .addOnFailureListener(new OnFailureListener() {
  18. @Override
  19. public void onFailure(@NonNull Exception e) {
  20. //Point 3
  21. }
  22. });
  23. //Point 4

当我运行此代码时,它会到达Point 1和Point 4,但从不到达Point 3或Point 2。我对Android和Java都不太了解,所以我不确定Logcat中的内容的含义:

  1. 2020-09-05 09:53:53.514 19216-19245/com.example.app D/EGL_emulation: eglMakeCurrent: 0xe9c85300: ver 3 0tinfo 0xe9c83650
  2. 2020-09-05 09:53:55.391 19216-19242/com.example.app W/e.librarysearc: 访问隐藏字段Ljava/nio/Buffer;->address:J(淡灰色名单,反射)
  3. 2020-09-05 09:54:27.236 19216-19245/com.example.app D/EGL_emulation: eglMakeCurrent: 0xe9c85300: ver 3 0tinfo 0xe9c83650
  4. 2020-09-05 09:54:27.260 19216-19245/com.example.app D/EGL_emulation: eglMakeCurrent: 0xe9c85300: ver 3 0tinfo 0xe9c83650
  5. 2020-09-05 09:54:33.134 19216-19216/com.example.app W/ActivityThread: handleWindowVisibility: 没有活动的令牌android.os.BinderProxy@12d6200
  6. 2020-09-05 09:54:33.417 19216-19245/com.example.app D/EGL_emulation: eglMakeCurrent: 0xe9c85300: ver 3 0tinfo 0xe9c83650
  7. 2020-09-05 09:54:35.895 19216-19328/com.example.app W/ManagedChannelImpl: [{0}] 无法解析名称。 状态={1}
  8. 2020-09-05 09:54:36.271 19216-19216/com.example.app W/ActivityThread: handleWindowVisibility: 没有活动的令牌android.os.BinderProxy@549ad31
  9. 2020-09-05 09:54:36.572 19216-19245/com.example.app D/EGL_emulation: eglMakeCurrent: 0xe9c85300: ver 3 0tinfo 0xe9c83650
  10. 2020-09-05 09:54:36.814 19216-19328/com.example.app W/ManagedChannelImpl: [{0}] 无法解析名称。 状态={1}
  11. 2020-09-05 09:54:42.040 19216-19216/com.example.app I/AssistStructure: 扁平化的最终辅助数据:3832字节,包含1个窗口,12个视图
  12. 2020-09-05 09:54:43.993 19216-19216/com.example.app I/AssistStructure: 扁平化的最终辅助数据:3832字节,包含1个窗口,12个视图
  13. 2020-09-05 09:54:45.386 19216-19245/com.example.app D/EGL_emulation: eglMakeCurrent: 0xe9c85300: ver 3 0tinfo 0xe9c83650
  14. 2020-09-05 09:54:45.408 19216-19245/com.example.app I/chatty: uid=10091(com.example.librarysearch) RenderThread identical 1 line
  15. 2020-09-05 09:54:45.437 19216-19245/com.example.app D/EGL_emulation: eglMakeCurrent: 0xe9c85300: ver 3 0tinfo 0xe9c83650
  16. 2020-09-05 09:54:51.060 19216-19245/com.example.app D/EGL_emulation: eglMakeCurrent: 0xe9c85300: ver 3 0tinfo 0xe9c83650
  17. 2020-09-05 09:54:51.079 19216-19245/com.example.app D/EGL_emulation: eglMakeCurrent: 0xe9c85300: ver 3 0tinfo 0xe9c83650

它之前是正常运行的,但突然间停止工作了,所以我不确定我做了什么。如果您需要更多的代码,我也可以提供。提前谢谢您!

英文:

I am trying to add documents to Firebase Firestore from my android app. This is the code that I currently have.

  1. FirebaseFirestore db = FirebaseFirestore.getInstance();
  2. Map&lt;String, Object&gt; newuser = new HashMap&lt;&gt;();
  3. newuser.put(&quot;Username&quot;,username);
  4. newuser.put(&quot;Password&quot;,password);
  5. newuser.put(&quot;Nickname&quot;,userNickname);
  6. newuser.put(&quot;Code&quot;, &quot;ffff&quot;);
  7. newuser.put( &quot;Othercode&quot;, &quot;ffffffff&quot;);
  8. newuser.put(&quot;Age&quot;, &quot;0&quot;);
  9. //Point 1
  10. db.collection(&quot;Users&quot;).document(username).set(newuser)
  11. .addOnSuccessListener(new OnSuccessListener&lt;Void&gt;() {
  12. @Override
  13. public void onSuccess(Void aVoid) {
  14. //Point 2
  15. }
  16. })
  17. .addOnFailureListener(new OnFailureListener() {
  18. @Override
  19. public void onFailure(@NonNull Exception e) {
  20. //Point 3
  21. }
  22. });
  23. //Point 4

When I run this code it will reach Point 1 and Point 4, but never Point 3 or Point 2. I'm pretty new to android and java so I'm not sure what the things in the Logcat mean either:

  1. 2020-09-05 09:53:53.514 19216-19245/com.example.app D/EGL_emulation: eglMakeCurrent: 0xe9c85300: ver 3 0 (tinfo 0xe9c83650)
  2. 2020-09-05 09:53:55.391 19216-19242/com.example.app W/e.librarysearc: Accessing hidden field Ljava/nio/Buffer;-&gt;address:J (light greylist, reflection)
  3. 2020-09-05 09:54:27.236 19216-19245/com.example.app D/EGL_emulation: eglMakeCurrent: 0xe9c85300: ver 3 0 (tinfo 0xe9c83650)
  4. 2020-09-05 09:54:27.260 19216-19245/com.example.app D/EGL_emulation: eglMakeCurrent: 0xe9c85300: ver 3 0 (tinfo 0xe9c83650)
  5. 2020-09-05 09:54:33.134 19216-19216/com.example.app W/ActivityThread: handleWindowVisibility: no activity for token android.os.BinderProxy@12d6200
  6. 2020-09-05 09:54:33.417 19216-19245/com.example.app D/EGL_emulation: eglMakeCurrent: 0xe9c85300: ver 3 0 (tinfo 0xe9c83650)
  7. 2020-09-05 09:54:35.895 19216-19328/com.example.app W/ManagedChannelImpl: [{0}] Failed to resolve name. status={1}
  8. 2020-09-05 09:54:36.271 19216-19216/com.example.app W/ActivityThread: handleWindowVisibility: no activity for token android.os.BinderProxy@549ad31
  9. 2020-09-05 09:54:36.572 19216-19245/com.example.app D/EGL_emulation: eglMakeCurrent: 0xe9c85300: ver 3 0 (tinfo 0xe9c83650)
  10. 2020-09-05 09:54:36.814 19216-19328/com.example.app W/ManagedChannelImpl: [{0}] Failed to resolve name. status={1}
  11. 2020-09-05 09:54:42.040 19216-19216/com.example.app I/AssistStructure: Flattened final assist data: 3832 bytes, containing 1 windows, 12 views
  12. 2020-09-05 09:54:43.993 19216-19216/com.example.app I/AssistStructure: Flattened final assist data: 3832 bytes, containing 1 windows, 12 views
  13. 2020-09-05 09:54:45.386 19216-19245/com.example.app D/EGL_emulation: eglMakeCurrent: 0xe9c85300: ver 3 0 (tinfo 0xe9c83650)
  14. 2020-09-05 09:54:45.408 19216-19245/com.example.app I/chatty: uid=10091(com.example.librarysearch) RenderThread identical 1 line
  15. 2020-09-05 09:54:45.437 19216-19245/com.example.app D/EGL_emulation: eglMakeCurrent: 0xe9c85300: ver 3 0 (tinfo 0xe9c83650)
  16. 2020-09-05 09:54:51.060 19216-19245/com.example.app D/EGL_emulation: eglMakeCurrent: 0xe9c85300: ver 3 0 (tinfo 0xe9c83650)
  17. 2020-09-05 09:54:51.079 19216-19245/com.example.app D/EGL_emulation: eglMakeCurrent: 0xe9c85300: ver 3 0 (tinfo 0xe9c83650)

It was functioning, but suddenly it stopped working, so I'm not sure what I did. If you need any more code, I can provide it as well. Thank you in advance!

答案1

得分: 0

你可能需要清除当前正在使用的 AVD 的数据,然后尝试再次运行。

我认为 AVD 的互联网连接可能没有正常工作,或者同时运行的内容过多,因此当我清除了数据后,问题得以解决。我不认为在真实设备上会出现这种情况,但我不太确定。希望这对其他遇到这个问题的人有用。

英文:

You probably need to Wipe Data from the current AVD you are using and try running it agian.

I think that the AVD Internet wasn't working correctly, or too much was running on it so when I wiped the data this was solved. I don't think that this can happen on a real device, but I'm not sure. Hopefully this is works for anyone else with this issue.

答案2

得分: 0

我曾经遇到过相同的问题,对我来说是模拟器出了问题。我将它降级至 v31.2.10,降级后尝试的所有插入操作在 Firestore 中都成功完成了。

在此处阅读更多信息:Firebase 不在 Android Studio 模拟器上运行

您可以从 https://developer.android.com/studio/emulator_archive 获取较旧的模拟器版本。

英文:

I had the same problem and for me it was the emulator. I've downgraded it to v31.2.10 and all the attempts when the inserts didn't work to the Firestore completed after the downgrade.

Read more here: Firebase doesn't work on Android Studio Emulator!

You can get older emulator versions from https://developer.android.com/studio/emulator_archive

huangapple
  • 本文由 发表于 2020年9月5日 23:02:20
  • 转载请务必保留本文链接:https://go.coder-hub.com/63755333.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定