簡體   English   中英

從 Firebase 獲取隨機用戶

[英]Get random user from Firebase

我正在開發 kotlin 中的應用程序,用於從 firebase 將圖像發送給隨機用戶或多個用戶。 我的數據庫結構如下:

  • 用戶
    • bVk3KBL81AY2LUVUbC6G1qcLAcl2
      • 用戶名:test
      • uid:bVk3KBL81AY2LUVUbC6G1qcLAcl2

而且我不知道如何從 firebase 中獲取隨機用戶,我進行了搜索,但沒有找到適合我的結構的最佳解決方案。

我嘗試這篇文章: 如何在節點 Firebase 中獲得唯一的隨機產品?

但是代碼不起作用我有多個錯誤

提前感謝任何能夠給我一些解決方案的人。

編輯#1 我已經研究過它並且它正在工作,但我不知道如何將隨機限制為 3 個用戶。 在我的應用程序中,用戶可以更改用戶限制,因此我需要更改隨機限制。

我的代碼:

fun chooseRandomUser() {

    val rootRef = FirebaseDatabase.getInstance().getReference()
    val productsRef = rootRef.child("users")

    val valueEventListener: ValueEventListener = object : ValueEventListener {
        override fun onDataChange(dataSnapshot: DataSnapshot) {
            val productList = ArrayList<String?>()
            for (ds in dataSnapshot.children) {
                val name = ds.child("username").getValue(String::class.java)
                productList.add(name)
                Log.d("FragmentActivity", "usernames : $name")
            }
            val productListSize = productList.size
            val randomProductList = ArrayList<kotlin.Int>()
            randomProductList.add(Random().nextInt(productListSize))
            Log.d("FragmentActivity", "list : $randomProductList")
        }

        override fun onCancelled(databaseError: DatabaseError) {
            Log.d("FragmentActivity", "Error: ${databaseError.message}")
        }
    }
    productsRef.addListenerForSingleValueEvent(valueEventListener)

}

據我所知,您想從 firebase 數據庫中的所有用戶列表中選擇一個隨機用戶。 您可以在 android 端簡單地執行此操作。

我想您已經知道如何從 firebase 數據庫中獲取所有用戶。 將用戶存儲在列表中。 然后我會嘗試想出一個random的 function 可以隨機給我一個列表的索引,我可以根據該隨機索引從列表中選擇該用戶。

同樣的實現也可以 go 從該列表中選擇多個用戶。

我希望這會有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM