各位好,小弟今日在學習製作專案時,想讓使用者輸入個人資料上傳至realtime database上,找了許多文章試做,做了許多版本,卻都無法將資料傳至資料庫上,以下是我的程式碼,煩請各位大神幫忙了
package com.example.myapplication
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.text.TextUtils
import android.widget.EditText
import android.widget.Toast
import com.example.myapplication.R
import com.example.myapplication.User
import com.google.firebase.auth.FirebaseAuth
import com.google.firebase.auth.PhoneAuthCredential
import com.google.firebase.database.DatabaseReference
import com.google.firebase.database.FirebaseDatabase
import kotlinx.android.synthetic.main.activity_registration1.*
class RegistrationActivity1 : AppCompatActivity() {
private lateinit var referance:DatabaseReference
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_registration1)
referance = FirebaseDatabase.getInstance().getReference("proflie")
registerButton.setOnClickListener(){
send()
}
}
private fun send(){
val name=findViewById<EditText>(R.id.firstnameInput).text.toString()
val age=findViewById<EditText>(R.id.lastnameInput).text.toString()
val gender=findViewById<EditText>(R.id.usernameInput).text.toString()
val photo=findViewById<EditText>(R.id.passwordInput).text.toString()
if(name.isNotEmpty()&&age.isNotEmpty()&&gender.isNotEmpty()&&photo.isNotEmpty())
{
val Users=User(name,age,gender,photo)
val id=referance.push().key.toString()
referance.child(id).setValue(Users)
firstnameInput.setText("")
lastnameInput.setText("")
usernameInput.setText("")
passwordInput.setText("")
此為User檔
package com.example.myapplication
class User(val name : String,val age : String,val gender : String,val photo : String){
}
Firebase的官方文檔寫的蠻清楚的,程式碼也很簡單,照著做應該就能夠連接上了。
連結給你參考:https://firebase.google.com/docs/database/android/start
另外要注意realtime database的規則設定如果是false的話資料也會無法寫入喔。