Почему база данных Firebase Realtime не работает - PullRequest
0 голосов
/ 25 июня 2019

Я написал код на котлинском языке
Мне нужна база данных Firebase в реальном времени, чтобы добавить ребенка с UID пользователя и электронной почтой, так как это значение в столбце users, когда пользователь регистрируется. Вход в систему успешен, и затем он переходит к основному действию. Информация о пользователях указана в разделе Аутентификация-> Пользователи, но база данных в реальном времени не работает, а также, когда я нажимаю кнопку «Назад», она снова и снова открывает основное действие после номера из кликов он возвращается на страницу входа и выходит, возможно, это потому, что он не может подключиться к базе данных.

Пожалуйста, помогите мне с необходимыми изменениями. Вот код

ОСНОВНАЯ ДЕЯТЕЛЬНОСТЬ


private var mFirebaseAnalytics: FirebaseAnalytics?=null

class MainActivity : AppCompatActivity() {

    var listofContacts = ArrayList<Contacts>()
    var adapter: ContactsAdapter? = null
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        mFirebaseAnalytics= FirebaseAnalytics.getInstance(this)
        listofContacts.add(Contacts("NAME", 123456789))

        adapter = ContactsAdapter(this, listofContacts)
        listview.adapter=adapter
    }

    inner class ContactsAdapter : BaseAdapter {

        var contactslist = ArrayList<Contacts>()
        var context: Context? = null

        constructor(context: Context, contactslist: ArrayList<Contacts>) : super() {
            this.contactslist = contactslist
            this.context = context
        }

        override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View {
            val contact = contactslist[position]
            val inflater = context!!.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater
            val myView = inflater.inflate(R.layout.contact_view, null)
            myView.name.text = contact.name!!
            myView.num.text = contact.num.toString()!!
            myView.setOnClickListener {
                val intent= Intent(context,ContactInfo::class.java!!)
                intent.putExtra("name",contact.name!!)
                intent.putExtra("num",contact.num!!)
                context!!.startActivity(intent)
            }
            return myView
        }

        override fun getItem(position: Int): Any {
            return contactslist[position]
        }

        override fun getItemId(position: Int): Long {
            return position.toLong()
        }

        override fun getCount(): Int {
            return contactslist.size
        }

    }
}

ВХОД

    private var mAuth:FirebaseAuth?=null

        var database=FirebaseDatabase.getInstance()
        var myRef=database.reference


        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            setContentView(R.layout.activity_login)
            mAuth = FirebaseAuth.getInstance()
        }

        fun loginevent(view: View){
           login(etun.text.toString(),pw.text.toString())
        }

        fun login(email:String,password:String){
            mAuth!!.createUserWithEmailAndPassword(email,password)
                .addOnCompleteListener(this){task ->
                    if(task.isSuccessful){

                        Toast.makeText(applicationContext,"Login Successful", Toast.LENGTH_LONG).show()
                        LoadMain()
                    }
                    else
                        Toast.makeText(applicationContext,"Login Failed", Toast.LENGTH_LONG).show()
                }

        }

        override fun onStart() {
            super.onStart()
            LoadMain()
        }

        fun LoadMain(){
            var currentuser=mAuth!!.currentUser
            if(currentuser!=null) {            
           myRef.child("Users").child(currentuser.uid).setValue(currentuser.email)
                val intent = Intent(this, MainActivity::class.java)
                intent.putExtra("email", currentuser.email)
                intent.putExtra("uid", currentuser.uid)
                startActivity(intent)
            }
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...