java - W / ClassMapper:类firebase android studio没有设置器/字段
问题描述
我有一个用户帐户,每个用户帐户都有自己的投资者
下面是我的投资者课
public class Investor {
int investorAvatar;
String name;
String username;
String country;
String phoneNo;
String securityCode;
String dateJoined;
String sharedAgreed;
public Investor() {
}
public Investor(String name, String username, String country,
String phoneNo, String securityCode,
String dateJoined, String sharedAgreed) {
this.name = name;
this.username = username;
this.country = country;
this.phoneNo = phoneNo;
this.securityCode = securityCode;
this.dateJoined = dateJoined;
this.sharedAgreed = sharedAgreed;
}
public int getInvestorAvatar() {
return investorAvatar;
}
public void setInvestorAvatar(int investorAvatar) {
this.investorAvatar = investorAvatar;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getDateJoined() {
return dateJoined;
}
public void setDateJoined(String dateJoined) {
this.dateJoined = dateJoined;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCountry() {
return country;
}
public void setCountry(String country) {
this.country = country;
}
public String getPhoneNo() {
return phoneNo;
}
public void setPhoneNo(String phoneNo) {
this.phoneNo = phoneNo;
}
public String getSecurityCode() {
return securityCode;
}
public void setSecurityCode(String securityCode) {
this.securityCode = securityCode;
}
public String getSharedAgreed() {
return sharedAgreed;
}
public void setSharedAgreed(String sharedAgreed) {
this.sharedAgreed = sharedAgreed;
}
}
以下是我的投资者在 Firebase 实时数据库中的情况
{
"CVSmRGYF49b0D4QawhA7dF4ZSKT2": {
"-Mn0hCk5sC7Og5_fyf0X": {
"country": "Tanzania",
"dateJoined": "2021-10-28",
"investorAvatar": 0,
"name": "usertest5",
"phoneNo": "074561344",
"securityCode": "8282829",
"sharedAgreed": "12",
"username": "testuser5"
}
},
"DR2mU44n0CW91uB3AhB2W426WrK2": {
"-Mn0awrOK1BDsCPnfH-Q": {
"country": "kenya",
"dateJoined": "2021-10-25",
"investorAvatar": 0,
"name": "Test User",
"phoneNo": "0714810492",
"securityCode": "154512122",
"sharedAgreed": "12",
"username": "testuser1"
},
"-Mn0ezofS6Rjt6KbaytX": {
"country": "Uganda",
"dateJoined": "2021-10-27",
"investorAvatar": 0,
"name": "testuser4",
"phoneNo": "0763566445",
"securityCode": "568956",
"sharedAgreed": "12",
"username": "user4"
}
}
}
CVSmRGYF49b0D4QawhA7dF4ZSKT2 和 DR2mU44n0CW91uB3AhB2W426WrK2 是用户 ID,在每个用户 ID 下方都有一个投资者列表
下面是我如何获取用户 id DR2mU44n0CW91uB3AhB2W426WrK2 中的投资者列表,仅使用 Investor Dao 类并尝试在片段中的 onViewCreated 方法中打印列表
public class InvestorDao {
private final DatabaseReference rootDatabaseReference;
private final FirebaseUser firebaseUser;
public InvestorDao() {
firebaseUser = FirebaseAuth.getInstance().getCurrentUser();
FirebaseDatabase firebaseDatabase = FirebaseDatabase.getInstance("https://lucemtrader-default-rtdb.europe-west1.firebasedatabase.app");
rootDatabaseReference = firebaseDatabase.getReference("Investors").child("DR2mU44n0CW91uB3AhB2W426WrK2");
}
public List<Investor> returnInvestorsList() {
List<Investor> investorsList = new ArrayList<>();
rootDatabaseReference.addValueEventListener(new ValueEventListener(){
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
for (DataSnapshot dataSnapshot: snapshot.getChildren()){
Investor investor = dataSnapshot.getValue(Investor.class);
investorsList.add(investor);
}
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
});
return investorsList;
}
下面是我如何在片段中的 onViewCreated 方法中记录我的列表
Log.wtf("InvestorsList", new Gson().toJson(new InvestorDao().returnInvestorsList()));
但是我遇到了错误但在我的课堂上我已经包含了getter和setter可能是什么问题
W/ClassMapper: No setter/field for CVSmRGYF49b0D4QawhA7dF4ZSKT2 found on class manu.apps.lucemtrader.classes.Investor
No setter/field for DR2mU44n0CW91uB3AhB2W426WrK2 found on class manu.apps.lucemtrader.classes.Investor
解决方案
推荐阅读
- asynchronous - 在 Dart 中以同步方式运行异步代码
- spring - 防止 Spring Scheduler 同时运行
- c - 在c中计算.txt文件中的行数
- javascript - 如何在已经使用单引号和双引号的 JavaScript 中包含 HTML 的 PHP 变量
- sql-server - 使用 ODI 从 Oracle 中的 SQL Server 表中查询
- vue.js - VueJs - 当内部 div 的滚动条到达页面底部时调用事件
- angular-material - 如何将数据从函数发送到角度材料对话框?
- python - 如何将字符串转换为整数?
- json - 如何将 kubernetes 秘密创建为 json 对象并在 kubernetes 环境中将其加载为 json
- laravel - Laravel 5.5 实时数据表更新