gpt4 book ai didi

java - 如何在android中的POJO中设置和获取 `ServerValue.TIMESTAMP`?

转载 作者:太空宇宙 更新时间:2023-11-04 10:59:34 27 4
gpt4 key购买 nike

假设我使用这样的 POJO:

public class Pojo {
String name;
//Others
Map<String, String> time; //As this is a Map<String,String>
//Constructors, getters, setters etc.
}

现在我希望将其上传到 firebase

Button b = findViewById(R.id.button_upload);
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Pojo pojo = new pojo;
pojo.setName(getName());
pojo.setTimeStamp(ServerValue.TIMESTAMP); //Is this right?
String id = pojoFirebaseDatabase.push().getKey();
shortcut.setId(id);
shortcutDatabase.child(id).setValue(pojo);
}
}

这些对我来说似乎都是正确的。但是当我查看实时数据库时,我发现其中只有一个 long ( "time" : 123456789 )。 Map<String,String> 如何更改为 long?

此外,当我尝试找回我的 pojo 时(我正在使用 Firebase-UI ):

fbUIRecyclerAdapter =
new FirebaseRecyclerAdapter<Pojo, PojoViewHolder>(myOptions) {
@Override
public PojoViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext())
.inflate(R.layout.pojo_view, parent, false);
return new PojoViewHolder(v);
}

@Override
protected void onBindViewHolder(PojoViewHolder pView, int position, Pojo pojo) {
pView.setName(pojo.getName());
shortcutView.setTimestamp(shortcut.getTimeStamp());
}

我遇到异常:

com.google.firebase.database.DatabaseException: Expected a Map while deserializing, but got a class java.lang.Long

我觉得这很合理。因为数据库中只有 long,但我要求在我的 Map<String, String> 中提供 Pojo.class

那么我该如何解决这个问题呢?如何获取 Pojo 对象中的 long 来满足我的需求?

最佳答案

1.将 map 添加到您的代码 Map<String, String> time = new HashMap<>();

2.将值放入 map time.put("time",ServerValue.TIMESTAMP);

3.设置为Pojo pojo.setTimeStamp(time);

试试这个。

    // add map
Map<String, String> time = new HashMap<>();
time.put("time",ServerValue.TIMESTAMP);
// edited here ,change Pojo
Pojo pojo = new Pojo();
pojo.setName(getName());
// edited here
pojo.setTimeStamp(time);

关于java - 如何在android中的POJO中设置和获取 `ServerValue.TIMESTAMP`?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47047702/

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