Я изучаю android studio, и в следующем разделе руководства, посвященного Firebase, кардинально изменился дизайн, и я застрял в руководствах.
На этом шаге я должен подключить свое приложение с помощью Firebase и загрузить (сохранить) данные в FireBase, но я не могу заставить его взаимодействовать с моим кодом.
Я совершенно не понимаю, как я собираюсь создать базу данных, я попробовал следующее:
- Добавить коллекцию -> Идентификатор коллекции: Пользователи -> Поле: Пользователи -> Значение: Истина
но когда я запускаю приложение, в firebase ничего не появляется?
Это код, который я вставил в свое приложение:
LOGIN CLASS
import android.content.Intent
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import android.widget.Toast
import com.google.firebase.auth.FirebaseAuth
import com.google.firebase.auth.FirebaseUser
import com.google.firebase.database.FirebaseDatabase
import kotlinx.android.synthetic.main.activity_login.*
class Login : AppCompatActivity() {
private var mAuth:FirebaseAuth?=null
private var database=FirebaseDatabase.getInstance()
private var myRef=database.reference
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_login)
mAuth=FirebaseAuth.getInstance()
}
fun buLoginEvent(view:View){
LoginToFirebase(etEmail.text.toString(),etPassword.text.toString())
}
fun LoginToFirebase(email:String,password:String){
mAuth!!.createUserWithEmailAndPassword(email,password)
.addOnCompleteListener(this){task ->
if(task.isSuccessful){
Toast.makeText(applicationContext,"Successful login", Toast.LENGTH_LONG).show()
val currentUser=mAuth!!.currentUser
// Save in database
if(currentUser!=null) {
myRef.child("Users").child(SplitString(currentUser.email.toString())).setValue(currentUser.uid)
}
LoadMain()
}else{
Toast.makeText(applicationContext,"Login failed", Toast.LENGTH_LONG).show()
}
}
}
override fun onStart() {
super.onStart()
LoadMain()
}
fun LoadMain(){
val currentUser=mAuth!!.currentUser
if(currentUser!=null) {
var intent=Intent(this, MainActivity::class.java)
intent.putExtra("email", currentUser.email)
intent.putExtra("uid", currentUser.uid)
startActivity(intent)
}
}
fun SplitString(str:String):String{
var splitStr=str.split("@")
return splitStr[0]
}
}
ОСНОВНАЯ ДЕЯТЕЛЬНОСТЬ
// Database instance
private var database= FirebaseDatabase.getInstance()
private var myRef=database.reference
var myEmail:String?=null
private var mFireBaseAnalytics:FirebaseAnalytics?=null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
mFireBaseAnalytics= FirebaseAnalytics.getInstance(this)
val b:Bundle=intent.extras
myEmail=b.getString("email")
}