java - java中.toObject()方法的工作原理是什么?如何使用它将documentsnapshot转换为POJO对象?解释

标签 java android

我想将文档快照转换为 pojo 对象。但我无法理解这个 .toObject() 方法背后的逻辑。有人可以解释一下它的工作原理,即参数、它是如何工作的、我应该如何在 firebase 中使用它。

private ArrayList<POJO> mArrayList = new ArrayList<>();

public ArrayList<POJO> getmArrayList() {
    return mArrayList;
}
public void getListItems() {
    db.collection(collection_name).get()
            .addOnSuccessListener(new OnSuccessListener<QuerySnapshot>() {
                @Override
                public void onSuccess(QuerySnapshot documentSnapshots) {
                    if (documentSnapshots.isEmpty()) {
                        Log.d(TAG, "onSuccess: LIST EMPTY");
                        return;
                    } else {
                        // Convert the whole Query Snapshot to a list
                        // of objects directly! No need to fetch each
                        // document.
                        List<POJO> types = documentSnapshots.toObjects(POJO.class);

                        // Add all to your list
                        mArrayList.addAll(types);
                        Log.d(TAG, "onSuccess: " + mArrayList);
                    }
                }
            });
}

我的 MainActivity 文件是这样的 -

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    FireStore mido= new FireStore();
    ArrayList<POJO> mArr = mido.getmArrayList();

    List<POJO> types = new ArrayList<>();
    mido.getListItems();
    types.addAll(mArr);
    String[] iranoutofnames= new String[2];
    int i = 0;
    for (POJO hello: types) {
        iranoutofnames[i] = hello.getName();
        i++;
    }
    for (int j = 0; j < 2; j++) {
        Toast.makeText(this, iranoutofnames[0], Toast.LENGTH_LONG).show();
        Toast.makeText(this, iranoutofnames[1], Toast.LENGTH_LONG).show();
    }

最佳答案

.toObject() 用于将某些数据转换为某些 POJO 数据类型。

关于java - java中.toObject()方法的工作原理是什么?如何使用它将documentsnapshot转换为POJO对象?解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57202152/

相关文章:

android - 在不折叠的情况下更改滚动时的工具栏颜色

android - 我无法从我的模块引用 SharedPreferences

java - 为什么这个 Java 程序在 Eclipse 的控制台上输入输入后终止?

java - 在程序中更改Java中程序的输出音频电平

android - kotlinx.serialization : How to parse to different varaiable name than the exact name of JSON key

android - 在 Android 应用程序中捕获用户签名

java - 如何使用 gwt-visualization 绘制连续图表

java - Spring Mail 中不允许域文字问题

java - Akka Java FSM 示例

android-sdk\docs\reference 丢失