【问题标题】:Firebase real-time database error in Android StudioAndroid Studio中的Firebase实时数据库错误
【发布时间】:2018-04-08 04:13:02
【问题描述】:

当我单击希望从我放置所有类别名称和图片的 firebase 中查看所有类别的类别时,会发生此错误。我是 Android studio 的初学者,在 Google 上搜索找不到很多已解决的问题。

04-07 18:35:13.271 25281-25281/com.example.a2015015407.edenparkproject E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.a2015015407.edenparkproject, PID: 25281
com.google.firebase.database.DatabaseException: Invalid Firebase Database url specified
at com.google.android.gms.internal.zzepd.zzqj(Unknown Source)
at com.google.firebase.database.FirebaseDatabase.getInstance(Unknown Source)
at com.google.firebase.database.FirebaseDatabase.getInstance(Unknown Source)
at com.example.a2015015407.edenparkproject.CategoryFragment.onCreate(CategoryFragment.java:41)
at android.support.v4.app.Fragment.performCreate(Fragment.java:2328)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1379)
at android.support.v4.app.FragmentTransition.addToFirstInLastOut(FragmentTransition.java:1188)
at android.support.v4.app.FragmentTransition.calculateFragments(FragmentTransition.java:1071)
at android.support.v4.app.FragmentTransition.startTransitions(FragmentTransition.java:115)
at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2379)
at android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2337)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2244)
at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:702)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6077)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756)
Caused by: java.net.URISyntaxException: Invalid scheme specified: Category
at com.google.android.gms.internal.zzepd.zzqj(Unknown Source) 
at com.google.firebase.database.FirebaseDatabase.getInstance(Unknown Source) 
at com.google.firebase.database.FirebaseDatabase.getInstance(Unknown Source) 
at com.example.a2015015407.edenparkproject.CategoryFragment.onCreate(CategoryFragment.java:41) 
at android.support.v4.app.Fragment.performCreate(Fragment.java:2328) 
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1379) 
at android.support.v4.app.FragmentTransition.addToFirstInLastOut(FragmentTransition.java:1188) 
at android.support.v4.app.FragmentTransition.calculateFragments(FragmentTransition.java:1071) 
at android.support.v4.app.FragmentTransition.startTransitions(FragmentTransition.java:115) 
at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2379) 
at android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2337) 
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2244) 
at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:702) 
at android.os.Handler.handleCallback(Handler.java:751) 
at android.os.Handler.dispatchMessage(Handler.java:95) 
at android.os.Looper.loop(Looper.java:154) 
at android.app.ActivityThread.main(ActivityThread.java:6077) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756) 

【问题讨论】:

标签: android firebase firebase-realtime-database


【解决方案1】:

从错误消息看来,您正在使用无效 URL 初始化 Firebase:

指定的 Firebase 数据库网址无效

我猜你打电话给getReferenceFromUrl("some/path")。要获得参考,请改为调用FirebaseDatabase.getInstance().getReference("some/path"),如getting started page of the documentation 所示。

更新:看起来你需要:

FirebaseDatabase.getInstance().getReference("Category")

【讨论】:

  • private void loadCategories() { adapter=new FirebaseRecyclerAdapter( Category.class, R.layout.category_layout, CategoryViewHolder.class, categories @Override public void onCreate( Bundle savedInstanceState) { super .onCreate(savedInstanceState); database=FirebaseDatabase.getInstance("Category"); } 相关代码如上。
  • 是的,这没有任何意义:您正在那里调用一些更高级的 API,而此时您非常不太可能需要这些 API。请按照我链接的文档或我显示的代码:FirebaseDatabase.getInstance().getReference("Category")
猜你喜欢
  • 2021-09-20
  • 2021-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-03
  • 1970-01-01
  • 2021-10-23
  • 2019-08-29
相关资源
最近更新 更多