【问题标题】:Firebase RealtimeDatabase is not working now?Firebase 实时数据库现在无法正常工作?
【发布时间】:2018-03-26 08:17:29
【问题描述】:

现在 Firebase RealtimeDatabase“写入”正在工作。

这是 firebase 示例代码。

FirebaseDatabase database = FirebaseDatabase.getInstance();
        DatabaseReference myRef = database.getReference("message");

        myRef.setValue("Hello, World!");

        myRef.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                // This method is called once with the initial value and again
                // whenever data at this location is updated.
                String value = dataSnapshot.getValue(String.class);
                Log.d(TAG, "Value is: " + value);
            }

            @Override
            public void onCancelled(DatabaseError error) {
                // Failed to read value
                Log.w(TAG, "Failed to read value.", error.toException());
            }
        });

ValueEventListeneronDataChange被调用,但是在firebase控制台的实时数据库中找不到写入的数据。

此外,使用早期制作的实时数据库的应用程序在今天也表现不佳。

这是 firebase 的错误吗? 我现在能做什么?

PS:这是日志消息。

10-14 18:19:52.730 15916-15916/com.example.star_man.firebaserealtimedatabase V/FA: onActivityCreated
10-14 18:19:52.766 15916-15933/com.example.star_man.firebaserealtimedatabase I/art: Do partial code cache collection, code=61KB, data=47KB
10-14 18:19:52.766 15916-15933/com.example.star_man.firebaserealtimedatabase I/art: After code cache collection, code=61KB, data=47KB
10-14 18:19:52.766 15916-15933/com.example.star_man.firebaserealtimedatabase I/art: Increasing code cache capacity to 256KB
10-14 18:19:55.549 15916-15935/com.example.star_man.firebaserealtimedatabase I/art: Starting a blocking GC Instrumentation
10-14 18:19:56.858 15916-15970/com.example.star_man.firebaserealtimedatabase V/FA: Using measurement service
10-14 18:19:56.860 15916-15970/com.example.star_man.firebaserealtimedatabase V/FA: Connecting to remote service
10-14 18:19:56.872 15916-15970/com.example.star_man.firebaserealtimedatabase V/FA: Activity resumed, time: 5619167420
10-14 18:19:56.876 15916-15916/com.example.star_man.firebaserealtimedatabase D/ViewRootImpl@b6baf53[MainActivity]: ThreadedRenderer.create() translucent=false
10-14 18:19:56.884 15916-15916/com.example.star_man.firebaserealtimedatabase D/InputTransport: Input channel constructed: fd=80
10-14 18:19:56.886 15916-15916/com.example.star_man.firebaserealtimedatabase D/ViewRootImpl@b6baf53[MainActivity]: setView = DecorView@304ed89[MainActivity] touchMode=true
10-14 18:19:56.905 15916-15916/com.example.star_man.firebaserealtimedatabase D/ViewRootImpl@b6baf53[MainActivity]: dispatchAttachedToWindow
10-14 18:19:56.949 15916-15916/com.example.star_man.firebaserealtimedatabase D/ViewRootImpl@b6baf53[MainActivity]: Relayout returned: oldFrame=[0,0][0,0] newFrame=[0,0][1440,2560] result=0x27 surface={isValid=true 525456977920} surfaceGenerationChanged=true
10-14 18:19:56.951 15916-15982/com.example.star_man.firebaserealtimedatabase D/mali_winsys: EGLint new_window_surface(egl_winsys_display*, void*, EGLSurface, EGLConfig, egl_winsys_surface**, egl_color_buffer_format*, EGLBoolean) returns 0x3000,  [1440x2560]-format:1
10-14 18:19:56.951 15916-15916/com.example.star_man.firebaserealtimedatabase D/ViewRootImpl@b6baf53[MainActivity]: mHardwareRenderer.initialize() mSurface={isValid=true 525456977920} hwInitialized=true
10-14 18:19:56.981 15916-15970/com.example.star_man.firebaserealtimedatabase D/FA: Connected to remote service
10-14 18:19:56.981 15916-15970/com.example.star_man.firebaserealtimedatabase V/FA: Processing queued up service tasks: 1
10-14 18:19:57.033 15916-15916/com.example.star_man.firebaserealtimedatabase D/ViewRootImpl@b6baf53[MainActivity]: MSG_RESIZED_REPORT: ci=Rect(0, 96 - 0, 0) vi=Rect(0, 96 - 0, 0) or=1
10-14 18:19:57.033 15916-15916/com.example.star_man.firebaserealtimedatabase D/ViewRootImpl@b6baf53[MainActivity]: MSG_WINDOW_FOCUS_CHANGED 1
10-14 18:19:57.035 15916-15916/com.example.star_man.firebaserealtimedatabase D/ViewRootImpl@b6baf53[MainActivity]: mHardwareRenderer.initializeIfNeeded()#2 mSurface={isValid=true 525456977920}
10-14 18:19:57.038 15916-15916/com.example.star_man.firebaserealtimedatabase V/InputMethodManager: Starting input: tba=android.view.inputmethod.EditorInfo@eceb89a nm : com.example.star_man.firebaserealtimedatabase ic=null
10-14 18:19:57.038 15916-15916/com.example.star_man.firebaserealtimedatabase I/InputMethodManager: [IMM] startInputInner - mService.startInputOrWindowGainedFocus
10-14 18:19:57.051 15916-15916/com.example.star_man.firebaserealtimedatabase D/InputTransport: Input channel constructed: fd=85
10-14 18:20:01.990 15916-15970/com.example.star_man.firebaserealtimedatabase V/FA: Inactivity, disconnecting from the service

【问题讨论】:

  • 截屏你的消息节点以便我们可以看到结构,你可能需要遍历dataSnapshot子节点
  • @faruk,以上源码是firebase的示例代码。但不工作...
  • 我只是将代码复制/粘贴到 IntelliJ 中,它会打印出Value is: Hello, World!。我不太确定为什么您的代码不起作用,但它似乎不太可能是 Firebase 的错误。你能在调试器中运行它并在onDataChangeonCancelled 中设置断点吗?其中之一应该被触发。如果没有发生这种情况,您可能没有网络连接。
  • 顺便说一句,这个问题的代码完全相同:stackoverflow.com/questions/46744231/…

标签: android ios firebase firebase-realtime-database


【解决方案1】:

试一下把OnComplete Listener,调用了吗?

myRef.setValue("Hello, World!", new DatabaseReference.CompletionListener() {
  @Override
  public void onComplete(DatabaseError databaseError, DatabaseReference databaseReference) {
    if (databaseError != null) {
        Log.d("saving","Data could not be saved " + databaseError.getMessage());
    } else {
        Log.d("saving","Data saved successfully.");
    }
  }
}).addOnFailureListener(new OnFailureListener() {
    @Override
    public void onFailure(@NonNull Exception e) {
        Log.e("saving","Saving failed: " + e.getMessage());
    }
});

【讨论】:

  • 在android消息窗口中,是否有任何错误日志消息?
  • 我在我的问题中附加了日志消息。但没有具体的消息。
  • sorry.. onFailureListener.. 怎么样还没有被调用?
  • 我正在查看错误消息无法解析方法'addOnFailureListener(anonymous com.google.android.gms.tasks.OnFailureLister)'
【解决方案2】:

原因是我们公司的防火墙。但我不知道为什么会调用onDataChange 回调函数。 我觉得应该调用onCancelled回调函数。

反正我修改了防火墙规则,现在可以正常使用了。

【讨论】:

    猜你喜欢
    • 2022-12-14
    • 2021-03-23
    • 1970-01-01
    • 2019-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-15
    相关资源
    最近更新 更多