gpt4 book ai didi

java - Firebase 没有 setter/getter

转载 作者:行者123 更新时间:2023-12-01 19:29:09 25 4
gpt4 key购买 nike

大家好,我有一个问题。我想从 Firebase 实时数据库中检索数据,它一直告诉我它找不到 getter 和 setter,但正如您在下面看到的那样,我做到了,我创建了一个类,其中包含 setter 和 getter数据库字段的名称相同。

谁能告诉我我做错了什么,因为我不知道?

提前谢谢您。

数据库照片:

enter image description here

Activity 和类的代码,您可以在其中看到我有 getter 和 setter。

package com.example.ipill;

public class CartActivity extends AppCompatActivity {

private TextView total;
private ImageButton removeFromCart;
private Button pay;


private RecyclerView mResultList;
private DatabaseReference mUserDatabase;
public static int cart_count = 0;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_cart);
mUserDatabase = FirebaseDatabase.getInstance().getReference("Cart");

total = findViewById(R.id.TotalPrice);
removeFromCart = findViewById(R.id.removeFromCart);
mResultList = findViewById(R.id.cartList);
pay = findViewById(R.id.pay);


mResultList.setHasFixedSize(true);
mResultList.setLayoutManager(new LinearLayoutManager(this));



// Attach a listener to read the data at our posts reference
mUserDatabase.addValueEventListener(new ValueEventListener() {


@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Users_get post = dataSnapshot.getValue(Users_get.class);
System.out.println("DATAAAA: "+post);
}

@Override
public void onCancelled(DatabaseError databaseError) {
System.out.println("The read failed: " + databaseError.getCode());
}
});
}



@Override
protected void onStart() {
super.onStart();
invalidateOptionsMenu();
}

// View Holder Class
public static class UsersViewHolder extends RecyclerView.ViewHolder {
View mView;
String nome;
String surname;
Long prezzo;
public UsersViewHolder(View itemView) {
super(itemView);
mView = itemView;

}

public void getDetails(String name,String cognome,Long price){
nome=name;
surname=cognome;
prezzo=price;
}


public void setDetails(String name, String surname, Long price) {

TextView user_name = (TextView) mView.findViewById(R.id.name_text);
TextView user_surname = (TextView)mView.findViewById(R.id.status_text);
TextView user_price = (TextView)mView.findViewById(R.id.price);

user_name.setText(name);
user_surname.setText(surname);
user_price.setText(Long.toString(price));

}
}
}

类别

public class Users_get  {
public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getSurname() {
return surname;
}

public void setSurname(String surname) {
this.surname = surname;
}

public Long getPrice() {
return price;
}

public void setPrice(Long price) {
this.price = price;
}

private String name, surname;
private Long price;
}

JSON 结构

{
"Cart": {
"-M0U3UXq2ZA00Jq5o9as": {
"name": "Alex",
"price": 120,
"surname": "Kyto"
},
"-M0WlUbQHj1hdH40uWVF": {
"name": "Alex",
"price": 120,
"surname": "Kyto"
},
"-M0WxZhI98Xb1s9Xy5HV": {
"name": "Alex",
"price": 120,
"surname": "Kyto"
},
"-M0X00Zr64RocyQHhoFB": {
"name": "Alex",
"price": 120,
"surname": "Kyto"
}
},
"Users": {
"01": {
"Name": "Alex",
"Price": 120,
"Surname": "Kyto"
},
"02": {
"Name": "Alex",
"Price": 200,
"Surname": "Pablo"
}
}
}

最佳答案

除了其他答案之外,要获取 Users_get 数据,根据您的数据库结构,您必须再上一层。

当前您的数据库引用指向购物车。因此,迭代购物车的子级以获取购物车数据。检查以下内容:

mUserDatabase = FirebaseDatabase.getInstance().getReference("Cart");
mUserDatabase.addValueEventListener(new ValueEventListener() {

@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot childSnapshot : dataSnapshot.getChildren()) {
Users_get post = childSnapshot.getValue(Users_get.class);
System.out.println("DATAAAA: " + post);
}
}

@Override
public void onCancelled(DatabaseError databaseError) {
System.out.println("The read failed: " + databaseError.getCode());
}
});

关于java - Firebase 没有 setter/getter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60317006/

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