gpt4 book ai didi

android - com.google.firebase.database.DatabaseException

转载 作者:太空狗 更新时间:2023-10-29 15:58:45 25 4
gpt4 key购买 nike

当我开始 Activity 时,它显示错误:

Class com.rcpl.agni.Artist does not define a no-argument constructor.If you are using ProGuard, make sure these constructors are not stripped.

protected void onStart() {
super.onStart();
ref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
//artistList.clear();
for(DataSnapshot artistSnapshot : dataSnapshot.getChildren()){
Artist artist = artistSnapshot.getValue(Artist.class);
Toast.makeText(MainActivity.this, artist.getArtistName(), Toast.LENGTH_SHORT).show();

}

}

@Override
public void onCancelled(DatabaseError databaseError) {

}
});
}

艺术家.java

package com.rcpl.agni;

/**
* Created by Dell-pc on 23-01-2018.
*/

public class Artist {
String artistId;
String artistName;
String artistGenre;

public Artist(String artistId, String artistName, String artistGenre) {
this.artistId = artistId;
this.artistName = artistName;
this.artistGenre = artistGenre;
}

public String getArtistId() {
return artistId;
}

public String getArtistName() {
return artistName;
}

public String getArtistGenre() {
return artistGenre;
}
}

最佳答案

要解决这个问题,您只需将公共(public)无参数构造函数 添加到您的Artist 类。

public Artist() {}

请记住,当 Firebase 实时数据库 SDK 反序列化来自数据库的对象时,它要求任何对象都具有公共(public)无参数构造函数。这是实例化该特定对象所必需的。对象中的所有字段都通过使用公共(public)设置方法或直接访问公共(public)成员来设置。

如果您不使用公共(public)无参数构造函数,SDK 将不知道如何创建该类的实例。大多数序列化库都有相同的要求。

关于android - com.google.firebase.database.DatabaseException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48405839/

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