Question: I am getting this error men pressing the sign up button in my app. E/AndroidRuntime: FATAL EXCEPTION: DefaultDispatcher-worker-1 Process: com.hdtchat, PID: 19857 kotlin.UninitializedPropertyAccessException: lateinit property
I am getting this error men pressing the sign up button in my app.
E/AndroidRuntime: FATAL EXCEPTION: DefaultDispatcher-worker-1 Process: com.hdtchat, PID: 19857 kotlin.UninitializedPropertyAccessException: lateinit property appDb has not been initialized at com.hdtchat.Signup$writeData$1.invokeSuspend(Signup.kt:44) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:42) at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95) at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:749) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664) Suppressed: kotlinx.coroutines.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@6814712, Dispatchers.IO]
This is my code:
package com.hdtchat import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.widget.Toast import com.hdtchat.data.User import com.hdtchat.data.Userdatabase import com.hdtchat.databinding.ActivitySignupBinding import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.launch class Signup : AppCompatActivity() { private lateinit var binding : ActivitySignupBinding private lateinit var appDb : Userdatabase override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) binding = ActivitySignupBinding.inflate(layoutInflater) setContentView(binding.root) binding.btnSignUp.setOnClickListener { writeData() } } private fun writeData() { val username = binding.edtUsername.text.toString() val email = binding.edtEmail.text.toString() val password = binding.edtPassword.text.toString() if(username.isNotBlank() && email.isNotEmpty() && password.isNotEmpty()) { val user = User( null, username, email, password) GlobalScope.launch(Dispatchers.IO) { appDb.dao().addUser(user) } binding.edtUsername.text.clear() binding.edtEmail.text.clear() binding.edtPassword.text.clear() Toast.makeText(this@Signup, "Success", Toast.LENGTH_SHORT).show() } else { Toast.makeText(this@Signup, "Fail", Toast.LENGTH_SHORT).show() } } }
I dont know why this error is occuring i have tried to clean the project and rebuild it but still it doesnt work. I get not errors when building the app only when i press the signup button i have made in my application. Thank you in advance :)
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
