Firebase 引用对象无法解析为类型
Posted
技术标签:
【中文标题】Firebase 引用对象无法解析为类型【英文标题】:Firebase reference object cannot be resolved to a type 【发布时间】:2014-02-08 09:05:05 【问题描述】:我只是按照以下文档开始构建我的 android 应用程序:https://www.firebase.com/docs/reading-data.html
设置库和权限后,我开始输入极少的几行代码。我立即得到了如下所示的编译错误列表:
然后我尝试输入“dataRef”。和 Ctr+Space,没有默认建议,但有一条红色消息说“dataRef 无法解析为类型”。 dataRef 是对 firebase 数据库的引用(就像文档的 sn-p 中的那个)
那么到底出了什么问题?
Ps:我也试过清理项目。 我相信我的 Firebase 库是最新的,因为它的名称是“firebase-client-jvm-LATEST”,我今天刚刚下载了它。 我还没有添加任何 xml 或构建任何东西。 下面是我的 MainActivity.java:
package com.biz.nah;
import com.firebase.client.DataSnapshot;
import com.firebase.client.Firebase;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
public class MainActivity extends Activity
@Override
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Create a reference to database
String url = "https://nah.firebaseio.com";
Firebase dataRef = new Firebase(url);
dataRef.addListenerForSingleValueEvent(new ValueEventListener()
@Override
public void onDataChange(DataSnapshot snapshot)
// Do some stuff once
@Override
public void onCancelled()
System.err.println("Listener was cancelled");
);
@Override
public boolean onCreateOptionsMenu(Menu menu)
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
【问题讨论】:
你能发布 MainActivity.java 吗? 【参考方案1】:代码看起来是正确的,尽管您的 Eclipse 窗口的屏幕截图证明并非如此。
这些错误听起来像是 eclipse 没有正确解析您的代码。
另一个线索是在大纲视图中url
和dataref
显示为MainActivity
的字段而不是函数变量,就像您在代码中发布的那样。
试试:
关闭并打开 Eclipse 项目 -> 清理【讨论】:
嗨,我也意识到我的代码和屏幕截图的区别。但那是因为后来我尝试将我的代码放入 onCreate 方法中。我以前做过很多次清洁工作,效果很好。然后我关机,睡觉,几个小时后醒来,再次打开eclipse,同样的问题,但是现在,当我开始输入(不是复制粘贴sn-p)时,它可以工作了。复制的代码块,即使相似,仍然是相同的错误,所以我删除了它。以上是关于Firebase 引用对象无法解析为类型的主要内容,如果未能解决你的问题,请参考以下文章
在登录功能上使用 FireBase 进行 Google 登录时出错。无法解析“对象”中的方法“getSignInIntent”
IOS - 从 Firebase 解析对象 - 下载完成前运行的代码