Firebase 실시간 데이터베이스는 uid로 데이터를 검색하여 Varable kotlin android에 넣습니다.

AzCode 개발

실시간 데이터베이스에서 데이터를 검색하는 방법은 무엇입니까? 사용자 데이터베이스의 자식 인 uid 마녀로 사용자 별 데이터 검색을 얻고 싶습니다. 특정 사용자 ID "일", "월"등에 대한 모든 데이터를 검색해야합니다. 변수로서의 값.

데이터베이스 구조

firebase에 데이터가 있습니다.

DatabaseRow 클래스 :

data class DatabaseRow (
    val id:String = "",
    val names: String= "",
    val lastname: String="",
    val day: String="",
    val month: String="",
    val year:String=""
)

firebase 입력 :

 val firebaseInput = DatabaseRow(user,names,lastname,day,month,year)
        userRef.child("$user").setValue(firebaseInput)

데이터를 검색하려면이 코드를 사용하고 있습니다.

  auth = FirebaseAuth.getInstance()
        FirebaseUser = auth.getCurrentUser()!!

        val uid = auth.getUid()!!

        val fireBase = FirebaseDatabase.getInstance()
        userRef = fireBase.getReference("users")
        val ordersRef = userRef.child("$uid").equalTo("$uid")


val valueEventListener = object : ValueEventListener {
            override fun onDataChange(dataSnapshot: DataSnapshot) {
                for (ds in dataSnapshot.children) {
                    val username = ds.child("day").getValue(String::class.java)
                    Log.d("DataBaseGetName",username)
                    [email protected] = username 
                }
            }

            override fun onCancelled(databaseError: DatabaseError) {
                Log.d("Data", databaseError.getMessage()) //Don't ignore errors!
            }
        }
   ordersRef.addValueEventListener(valueEventListener)

데이터베이스 규칙입니다.

{
  "rules": {
      ".read": true,
      ".write": true,
         "users":{
            "$uid":{
               ".write": "auth.uid === $uid",
               ".read": "auth.uid === $uid"
               },     
    "users":{
        ".indexOn": [".value","id","names","lastname","day","month","year"]
    },
   }
  }  
}  
Ashish

을받을 때 uid데이터베이스와 비교하려고합니다 uid. uid항상 다릅니다.

val ordersRef = userRef.child("$uid")
val valueEventListener = object : ValueEventListener {
    override fun onDataChange(dataSnapshot: DataSnapshot) {
        val username = dataSnapshot.child("names").getValue(String.class);
        Log.d("DataBaseGetName",username)
    }

    override fun onCancelled(databaseError: DatabaseError) {
        Log.d("Data", databaseError.getMessage()) //Don't ignore errors!
    }
}
ordersRef.addValueEventListener(valueEventListener)

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관