Android dataSnapshop.getValue(MyClass.class)关闭我的应用程序-我无法从Firebase数据库读取数据
我正在制作一个链接到Firebase的android应用程序。我对Firebase和Android应用程序开发都是新手。在数据库中添加来自同一类的数据效果很好,但读取该数据会关闭我的应用程序 下面是我的日志: 07-29 20:20:19.376 23784 23784 D AndroidRuntime:关闭虚拟机 07-29 20:20:19.378 23784 23784 E AndroidRuntime:致命异常:主 07-29 20:20:19.378 23784 23784 E AndroidRuntime:进程:,PID:23784 07-29 20:20:19.378 23784 23784 E AndroidRuntime:com.google.firebase.database.DatabaseException:类缺少没有参数的构造函数 下面是我的代码:Android dataSnapshop.getValue(MyClass.class)关闭我的应用程序-我无法从Firebase数据库读取数据,android,database,firebase,Android,Database,Firebase,我正在制作一个链接到Firebase的android应用程序。我对Firebase和Android应用程序开发都是新手。在数据库中添加来自同一类的数据效果很好,但读取该数据会关闭我的应用程序 下面是我的日志: 07-29 20:20:19.376 23784 23784 D AndroidRuntime:关闭虚拟机 07-29 20:20:19.378 23784 23784 E AndroidRuntime:致命异常:主 07-29 20:20:19.378 23784 23784 E And
public class NewFragment extends Fragment {
....
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.new, container, false);
.....
final FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference simpleClassDatabaseReference = database.getReference().child("SimpleClass");
......
ChildEventListener childEventListener = new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
SimpleClass simpleClass = dataSnapshot.getValue(SimpleClass.class);
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {
}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
};simpleClassDatabaseReference.addChildEventListener(childEventListener);
}
return v;
}
}
这是我的简单课程:
public class SimpleClass {
String simpleWord;
String secondWord;
public SimpleClass (String simpleWord, String secondWord){
this.simpleWord = simpleWord;
this.secondWord = secondWord;
}
public String getSimpleWord() {
return simpleWord;
}
public String getSecondWord() {
return secondWord;
}
}
这就是我在Firebase中编写该类的方式:
SimpleClass simpleClass = new SimpleClass("HI!!", "Hi again!!");
DatabaseReference mSimpleClassDatabaseReference = database.getReference().child("SimpleClass");
mSimpleClassDatabaseReference.push().setValue(simpleClass);
因此,要解决此问题,请尝试这样做:
public class SimpleClass {
String simpleWord;
String secondWord;
public SimpleClass (){
//construtor with no arguments
}
public SimpleClass (String simpleWord, String secondWord){
this.simpleWord = simpleWord;
this.secondWord = secondWord;
}
public String getSimpleWord() {
return simpleWord;
}
public String getSecondWord() {
return secondWord;
}
}
您的错误是Simple类需要一个没有参数的构造函数。Simple类需要一个没有参数的构造函数,您需要创建这样的构造函数:public SimpleClass{}