Firebase 实时数据库现在无法正常工作?
Posted
技术标签:
【中文标题】Firebase 实时数据库现在无法正常工作?【英文标题】:Firebase RealtimeDatabase is not working now? 【发布时间】: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());
);
ValueEventListener
的onDataChange
被调用,但是在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 的错误。你能在调试器中运行它并在onDataChange
和onCancelled
中设置断点吗?其中之一应该被触发。如果没有发生这种情况,您可能没有网络连接。
顺便说一句,这个问题的代码完全相同:***.com/questions/46744231/…
【参考方案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
回调函数。
反正我修改了防火墙规则,现在可以正常使用了。
【讨论】:
以上是关于Firebase 实时数据库现在无法正常工作?的主要内容,如果未能解决你的问题,请参考以下文章
Firebase 实时数据库未更新 // 数据未添加到 Firebase 实时数据库
OrderByKey 工作正常,但 OrderByChild 在 firebase 实时数据库中给出了意想不到的结果
带有 TypeScript 的 Firebase Cloud Functions:实时数据库更新以成功结束但没有更新任何内容,JS 工作正常
event.params 评估为未定义;无法使用 Cloud Functions 访问 Firebase 实时数据库中的 event.params.post