gpt4 book ai didi

java - 如何从 Firebase Realtime DB 获取两个变量

转载 作者:行者123 更新时间:2023-11-30 00:21:54 25 4
gpt4 key购买 nike

在我的应用程序中,我想从我的数据库中获取两个整数变量 My Realtime database

我想从“text_1”中获取“gedrueckt”。但是我一直在为非常复杂的指南而苦苦挣扎(我的英语不是最好的,而且或多或少是 java 的新手)和一些我无法使用的东西,因为应用程序崩溃了......

我最后尝试了这个,但我不确定它是否会从我的数据库中获取正确的东西,以及我将如何让它工作,因为它崩溃了。

主要 Activity .java :

        myRef.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
String text = "text_" + selecter;
Log.d(TNOT, dataSnapshot.getValue(String.class));

}

使用上面的代码时出错:

FATAL EXCEPTION: main
Process: com.example.alex.wouldyoupressthebutton, PID: 22850
com.google.firebase.database.DatabaseException: Failed to convert value of type java.util.HashMap to String
at com.google.android.gms.internal.zzdzl.zzb(Unknown Source)
at com.google.android.gms.internal.zzdzl.zza(Unknown Source)
at com.google.firebase.database.DataSnapshot.getValue(Unknown Source)
at com.example.alex.wouldyoupressthebutton.MainActivity$1.onChildAdded(MainActivity.java:99)
at com.google.android.gms.internal.zzdqc.zza(Unknown Source)
at com.google.android.gms.internal.zzdvo.zzbur(Unknown Source)
at com.google.android.gms.internal.zzdvu.run(Unknown Source)
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:6316)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:872)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:762)

希望你能帮我解决这个问题。

MrMinemeet

最佳答案

你必须读取像 key 对这样的值。

  for (DataSnapshot data : dataSnapshot.getChildren()) {
String yourText = String.valueOf(data.child("name from your fierbase child ").getValue());
yourObjectList.add(yourTextValue);
}

或一个完整的例子:

private DatabaseReference mDataBaseRef;
mDataBaseRef= FirebaseDatabase.getInstance().getReference()

ValueEventListener postListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
int youtItemId = dataSnapshot.child("user").child("yourItemId").getValue(Integer.class);
}

@Override
public void onCancelled(DatabaseError databaseError) {
// Log the message from databaseError
}
};

mDataBaseRef.addValueEventListener(postListener);

另一个例子:

DatabaseReference reference = 
database.getReference("UserInfo").child("gameStats");
reference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {

// You have to use key-value pairs like in ContentValues
// To loop through the values

for (DataSnapshot snap: dataSnapshot.getChildren()) {
snap.child("child") yourObeject.getValue(youObject.Class)

}

}

关于java - 如何从 Firebase Realtime DB 获取两个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46138356/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com