我使用 startAt 和 endAt 获取范围数据,但我需要在 startAt 中的另一个 child 中获取数据
i've using startAt and endAt for getting range data, but i need to take data in another child inside the startAt
我想将数据放入我的实时数据库的文件夹中,如下所示:
我有这段代码可以获取日期范围数据并将其显示在 RecycleView 中。
DatabaseReference db = FirebaseDatabase.getInstance ( ).getReference ( );
DatabaseReference pendingRef = db.child ("Users").child ("Pending");
Query queryByKey = pendingRef.orderByKey ()
.startAt ("*" + tanggalawal)
.endAt ("*" + tanggalakhir + "\uf8ff");
recView = (RecyclerView)findViewById (R.id.recview);
recView.setLayoutManager (new LinearLayoutManager (this));
FirebaseRecyclerOptions<Model> options =
new FirebaseRecyclerOptions.Builder<Model>()
.setQuery(queryByKey, Model.class)
.build();
adapter = new MyAdapter (options);
recView.setAdapter (adapter);
如何获取其中的 DataPelanggan 数据?
当您为 Android 使用 Firebase-UI 库时,这意味着适配器将只能根据您传入的查询显示对象的平面列表,为每个元素创建一个 ViewHolder 对象。
由于您的实际数据位于 DataPelanggan
、KTP
等节点下方,因此该库并不是很有用。如果您可以像这样更改数据库架构:
Firebase-root
|
--- Pending
|
--- *20211127...
|
--- type: "DataPelanggan"
|
--- currentDateAndTime: "*20211127..."
|
--- date: "16/10/1999"
|
--- fullName: "a"
|
--- nik: "4444...."
它会起作用,因为我们已将节点键作为字段添加到每个对象的正下方。通过这种方式,我们删除了架构中的额外级别,您的代码可能保持不变。
我想将数据放入我的实时数据库的文件夹中,如下所示:
我有这段代码可以获取日期范围数据并将其显示在 RecycleView 中。
DatabaseReference db = FirebaseDatabase.getInstance ( ).getReference ( );
DatabaseReference pendingRef = db.child ("Users").child ("Pending");
Query queryByKey = pendingRef.orderByKey ()
.startAt ("*" + tanggalawal)
.endAt ("*" + tanggalakhir + "\uf8ff");
recView = (RecyclerView)findViewById (R.id.recview);
recView.setLayoutManager (new LinearLayoutManager (this));
FirebaseRecyclerOptions<Model> options =
new FirebaseRecyclerOptions.Builder<Model>()
.setQuery(queryByKey, Model.class)
.build();
adapter = new MyAdapter (options);
recView.setAdapter (adapter);
如何获取其中的 DataPelanggan 数据?
当您为 Android 使用 Firebase-UI 库时,这意味着适配器将只能根据您传入的查询显示对象的平面列表,为每个元素创建一个 ViewHolder 对象。
由于您的实际数据位于 DataPelanggan
、KTP
等节点下方,因此该库并不是很有用。如果您可以像这样更改数据库架构:
Firebase-root
|
--- Pending
|
--- *20211127...
|
--- type: "DataPelanggan"
|
--- currentDateAndTime: "*20211127..."
|
--- date: "16/10/1999"
|
--- fullName: "a"
|
--- nik: "4444...."
它会起作用,因为我们已将节点键作为字段添加到每个对象的正下方。通过这种方式,我们删除了架构中的额外级别,您的代码可能保持不变。