Firebase助手:实时数据库

时间:2017-09-16 16:35:10

标签: java android firebase-realtime-database

我是android开发的新手。这是我在firebase助手上复制的代码

import android.nfc.Tag;
import android.util.Log;

import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;

public class FirebaseDB {
    DatabaseReference myRef = FirebaseDatabase.getInstance().getReference();

    myRef.addValueEventListener(new ValueEventListener(){
        @Override
        public void onDataChange(DataSnapshot dataSnopshot){
            String value = dataSnopshot.getValue(String.class);
            Log.d(Tag, "Value is: " + value);
        }

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

我正在使用android studio 2.3.3

我的问题是,myRef.addValueEventListener变成了错误,虽然myRef是继承Query类的DatabaseReference。我尝试DatabaseReference myRef = new DatabaseReference();仍然给我一个错误,new ValueEventListener()DataSnopshot dataSnopshotDatabaseError error同样适用于Tag

这是build.gradle和firebase助手

enter image description here

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

这看起来像是firebase和appcompat依赖问题。 firebase 10.0.2现在已经很老了。 最新版本是

compile 'com.google.firebase:firebase-database:11.2.2

此外,buildtools版本为26,与您的targetsdk版本24冲突

答案 1 :(得分:0)

可能是您的错误是由您的gradle中的sdk工具和库冲突引起的。因此,请尝试将您的support库版本更新为最新版本,目前为26.0.0-alpha1或至少25.3.1

例如compile 'com.android.support:appcompat-v7:25.3.1'

然后将您的firebase依赖项更新为最新版本11.2.2

注意:升级firebase库后,有一些新规则

  • 您的compileSdkVersion必须26也将targetSdkVersion升级为26
  • 在构建gradle中添加依赖项的路径,现在可以在maven.google.com上直接使用,如下所示:

allprojects { repositories { jcenter() maven { url 'https://maven.google.com' } } }

有关详情,请参阅:https://firebase.googleblog.com/2017/08/some-updates-to-apps-using-google-play.html